In Defense of Grid Features for Visual Question Answering论文阅读

In Defense of Grid Features for Visual Question Answering 论文阅读

Abstract

作为“自底向上”关注,基于边界框(或区域)的视觉特征最近已经超过了普通的基于网格的卷积特征,成为视觉和语言任务(如视觉问题回答(VQA))的事实标准。然而,还不清楚地区的区域(例如更好的定位)是否是自下而上注意力成功的关键原因。在这篇文章中,我们重新审视了VQA的网格特性,发现它们可以非常好地工作——以同样的精度运行速度快一个数量级以上。通过大量的实验,验证了这一观察结果在不同的VQA模型(报告了vqa2.0测试标准,accuracy:72.71)、数据集上都是正确的,并很好地推广到其他任务,如图像字幕。由于网格特性使模型设计和训练过程变得更加简单,这使我们能够对其进行端到端的培训,并且还可以使用更灵活的网络设计。我们学习了端到端的VQA模型,从像素直接到答案,并证明了在预训练中不使用任何区域注释就可以获得很好的性能。

1 introduction

目前主流的视觉特征是“bottom-up”特征,作者提出问题是什么导致“bottom-up”特征比传统的网格特征更好的

一种 最可能的说法是更好地定位单个对象,因为区域是检测器直接输出的边界框。
另一种可能说许多区域可以很容易地捕获图像中的粗级别信息和细粒度细节,即使区域间存在重叠。

但是作者的实验发现,从相同层数的预训练的检测器提取的网格特征可以与以区域为基础的特征达到相似的效果,如果在训练中调整参数甚至可能达到更好的效果。消融实验发现,“bottom-up”特征能达到很好效果的作用主要来自于以下两点:

  • 在视觉基因组(VG)数据集中收集的用于预训练的大规模对象和属性注释

  • 用于计算特征的输入图像的高空间分辨率。

网格特征与“bottom-up”特征有相同的效果,但是网格特征推理的速度更快,省去了提取图像中区域的时间,例如,使用ResNet-50主干网,发现在每幅图像的总运行时间从0.89s下降到0.02s,速度快了40多倍,精确度稍有提高!并且网格特征不需要额外的注释。如图1所示

In Defense of Grid Features for Visual Question Answering论文阅读

图1

2 Related Work

VQA模型的预训练: 本文作者提出近期的研究热点是将视觉和语言任务在同一个模型上进行预训练,这类方法的一个常见方案是将区域和单词视为各自领域的“标记”,并为屏蔽标记预测与训练BERT。作为对这一方向的补充,作者的工作特别深入研究视觉标记的“格式”,并可能与这些方法结合以实现互利(例如,在速度和准确性之间进行权衡)。

3 From Regions Grids(从区域到网络)

3.1 Bottom-Up Attention with Regions

自下而上的注意方法使用了更快的R-CNN检测模型。检测器在一个干净版本的视觉基因组数据集上训练,有数千个对象类别和数百个带有边界框(区域)注释的属性。
为了获得像VQA这样的任务的自下而上的注意力特征,需要如下两个步骤:

  • Region selection 由于Faster R-CNN是一个两级检测器,因此区域选择在流水线中发生两次。第一种方法是通过区域建议网络,该网络变形并选择突出的候选“锚”作为感兴趣的区域(RoIs)。另一个选择作为后处理来以每个类的方式聚合前N个框。在这两个步骤中,采用非最大抑制(NMS)方法,保持分类得分最高的区域,并去除局部邻域中的其他近似重复项。

  • Region feature computation 给定第一阶段的区域(最多数千个),RoIPool操作[31]用于提取初始区域级特征。然后,附加的网络层分别计算区域的输出表示。最后,经过两轮选择的区域特征被叠放在一起,作为自下而上的特征来表示图像。

***需要注意的是,由于VG数据集(例如数千个类)的复杂性以及使用的特定更快 的R-CNN检测器,这两个步骤都是计算密集型的。相反,直接使用网格特性可以跳过或加速这些步骤,并提供潜在的显著的加速。

3.2 Grid Features from the Same Layer(同一网络层的网格特征)

将区域特征转换为网格的最简单方法是 看是否可以直接计算同一网络层的输出,但要以共享的、完全卷积的方式。为此,我们观察最开始自下而上关注使用的faster R-CNN架构。

faster R-CNN是C4模型的变体,它有一个用于属性分类的额外分支。它将ResNet的权重分成两个独立的集合:给定一个输入图像,它首先使用ResNet的较低块计算特征映射,直到C4。此特征图在所有区域之间共享。然后,分别通过对14×14 roipooled(感兴趣区域池)特征应用C5块来执行每个区域的特征计算。然后,C5的输出被平均化为每个区域的最终矢量,作为自下而上的特征。由于所有的最终区域特征都来自C5,所以可以将检测器转换回ResNet分类器,并将C5层作为我们的输出网格特征。下面图2(左)说明了我们的转换过程。

In Defense of Grid Features for Visual Question Answering论文阅读

图2

3.3 1x1RoIPool for Improved Grid Features

我们的想法是简单地使用1×1 RoIPool。这意味着用一个向量来表示每个区域,而不是用Faster R-CNN中的三维张量。此外,1×1roipool区域也意味着网格特征地图上的每个向量都必须单独覆盖一个空间区域的所有信息,这可能会导致更强的网格特征。

然而,直接在原始模型上应用1×1 RoIPool会存在一定问题,可能是因为C5由几个ImageNet预训练的卷积层组成,这些卷积层适合于特定空间维度的输入。作者又跟踪最近在目标检测方面的发展,并使用整个ResNet直到C5(faster R-CNN是到C4)作为共享特征计算的主干;对于区域级计算,在顶部放置两个1024D完全连接(FC)层,默认情况下,这些层接受矢量作为输入。

为了减少低分辨率的影响,在训练融合了C5特征的检测器时(C5有32个步幅,而C4有16个步幅),stride-2层被替换为stride-1层,剩下的层以2倍的系数进行扩张[54]。对于网格特征提取,我们去除了这种膨胀,并将其转换回正常的ResNet。

图2(右)总结了对改进的网格所做的更改。与原始模型对比,我们只在训练期间对与区域相关的组件进行了必要的修改。由于所有这些计算都在特征提取过程中被移除,我们的网格特征抽取器在推理过程中保持不变。

4 Main Comparison: Regions vs. Grids

4.1 Experimental Setup

  • Faster R-CNN: 对于分析,我们使用Faster R-CNN 在ImageNet上预先训练的ResNet-50的主干。参考自下而上的注意,检测器随后在VG数据集上进行训练,并为1600个对象类别和400个属性类提供区域级注释。对于属性,将添加一个附加分支,其中“损失权重”(loss weight)为0.5。模型采用“1x”计划进行训练。值得注意的是,当保持宽高比固定时,输入图像的大小被调整为具有600像素(最长1000像素)的最短边。对于区域特征,我们设置N=100。

  • VQA split:原来的训练集仍为训练集,测试集分为验证集和测试集。

  • VQA model:使用Pythia实施的共同注意力模型,该模型将视觉特征(区域或网络)与问题的文本表示想融合,并输出最终答案。

4.2 Main Results

下面的表1总结了实验的主要结果。
In Defense of Grid Features for Visual Question Answering论文阅读
表1

得出两个观察的结果:
, 与广泛使用的自底向上区域特征(第1行)相比,使用相同模型(第3行)直接从C5中提取输出结果的效果相差不大(准确率为64.29比63.64)。相比之下,在ImageNet上预先训练过的标准ResNet-50模型的性能要差一点,精度为60.76,与自下而上的特性相差超过3%。

, 虽然我们基于1×1 RoIPool的变体损害了目标检测性能(VG的平均精度从4.07下降到2.90),但它有助于VQA将精度提高0.73%(第3和第4行),结果略微优于基于区域的原始特征。另一方面,我们提出的基于RoI的变体并没有帮助区域特征的提取,区域特征的准确率下降到63.94。这表明自下而上注意力使用的原始模型更倾向于区域;而我们的设计更适合网格。因此,我们使用第一行(最适合区域)的设置来表示“R”,第四行(最适合网格)来表示“G”,

4.3 Number of Regions(区域数量)

除了训练中的架构差异外,影响VQA精度的另一个因素是用于表示图像的特征向量N的数量。

实验中使用不同数量的特征N进行了测试,并在图3中显示了结果。
In Defense of Grid Features for Visual Question Answering论文阅读
图3

对于区域特征,能看到的是随着区域数量从30个增加到200个,精度会饱和,从而提高精度。但是图中可以看到网格特性甚至比最高数量的区域要好

下面表2中看出两种特征从准确率上看差别不大,甚至网格特征的准确率更高,即使区域特征的数量与网格特征的数量相同

In Defense of Grid Features for Visual Question Answering论文阅读
表2

从下图可以看出,两种特征都能捕捉到图片中重要的区域,(为了得到注意映射,我们将每个区域或网格的注意值传播到相应的像素,然后平均每个像素的注意值

In Defense of Grid Features for Visual Question Answering论文阅读
图4

5 Why do Our Grid Features Work?

本文作者提出的网格特征能够工作的原因有以下两点:

1. 输出图像大小
2. 预处理任务

1. 在ImageNet预训练模型的特征提取过程中使用的标准图像大小为448×448,丢弃了纵横比;而对于自下而上注意力中的VG检测,默认尺寸为600×1000,同时保持纵横比不变。因此,在对不同的组合进行了实验后,并在表4中报告了所有这些组合的结果。我们注意到,对于网格特性,更大的输入大小意味着VQA模型有更多的特性,结果如表3所示。
In Defense of Grid Features for Visual Question Answering论文阅读
表3

2. 研究在ImageNet(分类)和VG(detection)中由于预训练任务而导致的VQA精确度的差异。
我们在每个环境中引入了一个额外的预训练模型。对于分类,我们包括了一个在YFCC上训练过的模型,它有92M张带有图像标签的图像。对于检测,我们包括一个来自COCO的标准模型,它只有对象注释(没有属性)。所有型号都使用ResNet-50主干网进行公平比较
结果如表4所示:
In Defense of Grid Features for Visual Question Answering论文阅读
表4

在图像分类预训练设置中,YFCC模型比ImageNet模型性能更好,(数据量多了两个数量级)。对于基于检测的预训练,VG模型的结果比COCO模型有更好的效果(2个可能原因:VG中的类别数量更多,或者它具有额外的属性注释)。

Conclusion

本文中,作者重新讨论网格特征,作为视觉和语言任务中广泛使用的自下而上区域特征的替代方法。展示了它们实际上可以在不同的VQA任务和模型上应用。由于跳过了管道中与区域相关的计算成本高昂的瓶颈,能够看到依赖区域的现有系统的速度显著提高。

本文实验表明,相对于特征的“格式”(区域与网格),特征所代表的语义内容对其有效性更为关键。根据我们的实验,这种有效的表示可以通过对对象和属性数据集(如VG)的预训练来实现,或者更重要的是,通过直接针对最终任务的网格特征进行端到端的训练来实现。。即使在这个方向上进行了有限的探索,我们已经发现,在一个更灵活的设计空间中,没有任何区域级注释的网格特性实际上可以在VQA上获得强大的性能。虽然我们意识到,对于像引用表达式这样的任务(输出本身是一个区域),建模区域可能是不可避免的,但是我们希望我们的网格特性能够为视觉和语言研究提供新的视角。

文章:添加链接描述
源码:添加链接描述
参考:
1.添加链接描述
2.添加链接描述
3.添加链接描述