Prior Visual Relationship Reasoning for Visual Question Answering(VQA中的先验视觉关系推理)

Abstract

视觉问答(VQA)是一种典型的cross-model推理任务。VQA的一个关键问题是在问题的指导下对视觉内容中的语义线索进行推理。本文提出Scene Graph Convolutional Network(SceneGCN,场景图卷积网络)来联合推理对象属性及其语义关系,以获得正确答案。视觉关系被投影到一个受视觉语境和语言先验约束的深度学习语义空间中。

Introduction

与VQA相关的multi-media任务:cross-modal information retrievalimage/video captioning

VQA的一个关键问题是在问题的指导下对视觉内容中的语义线索进行推理。为了实现这一点,模型不仅要从单个对象们中推理线索,还要考虑它们之间的视觉关系

图片1
如图,模型不仅要捕捉对象planeblue,还需要了解关系<tower, to the left of, plane>。为此,我们需要一个基于可解释注意的、可以定位与问题密切相关的视觉关系的模型。

现有的依赖图像区域特征(如patch-based,object-based)的VQA模型无法处理关系线索。最近的一些研究试图在图像中发现关系感知信息,但由于以下两种原因,这些方法中的视觉关系表示信息量不够丰富:
(1)隐式模型如Relation Network、MAC、Murel都是在没有显式关系注释的情况下训练的。因此,它们不能有效地使用预定义的语义关系;
(2)显式模型在训练中使用显式的视觉关系注释,但现有的方法只处理空间关系而忽略了语义关系,或者使用简单的标签来表示语义关系。

最近的一些研究探索了在视觉关系中使用表示学习来提高VQA模型的性能。具体来说,通过在场景图数据集上训练一个视觉关系分类器。但这些方法受到了场景图数据集如Visual Genome和GQA中类别间训练样本的long-tailed分布的限制。

本文的灵感来自视觉关系建模领域的一些最新研究,主要思想是将视觉(空间和语义)关系 嵌入到向量空间中,然后计算对象之间的注意力,从而自动构造给定图像中对象的场景图。随着大规模视觉关系基准的发布,全面注释的视觉关系目前已经可以使用。本文感兴趣的是如何将这些显式视觉关系转换为隐式视觉推理的先验知识,以及如何将这些隐式信息与给定的问题联系起来,以在VQA任务中获得更好的结果。

Methodology

这项工作试图回答两个问题:
(1)如何有效地表示视觉关系并将其嵌入语义推理中;
(2)如何在给定对象及其相互关系的信息下预测最佳答案。

对于第一个问题,作者提出将图像表示为场景图,其中每个节点表示一个对象,有向边表示两个对象之间的关系。还是使用目标检测网络模型提取目标特征,并在此基础上构造一个视觉关系编码器,在视觉和文本线索的约束下生成区分性和类感知的视觉关系嵌入。

对于第二个问题,作者提出场景图卷积网络(SceneGCN)在问题的指导下对场景图进行两阶段推理。
图片2
总体框架如图所示。
通过Relation Encoder,将检测到的对象作为节点,它们的关系作为边来构建场景图。然后使用Scene Graph Convolution学习并动态更新每个对象的表示,通过语义关系聚合来自相邻节点(对象)的信息,其中聚集权重是用问题关系引导的self-attention学习到的。在第二阶段,使用问题引导的object attention来评估在注意得分中对象表征与给定问题的相关性。

通过嵌入对象信息和学习语义关系先验知识,得到了关系感知图像表征。该图像表征通过GRU与问题嵌入相融合,并被输入到一个MLP进行最终答案预测。

Scene Graph Construction:
节点被表示为: V = { v i } N V =\{v_i\}^N V={vi}N表示由预训练目标检测器如Faster-RCNN检测到的N个对象,每个对象被描述为一个2048维的向量。

有向边被表示为: E = { e i j } N × N E =\{e_{ij}\}^{N×N} E={eij}N×N表示由关系编码器嵌入的语义视觉关系。关系编码器在视觉关系基准GQA上进行预训练。将关系编码为512维的关系嵌入,被表示为: r i j r_{ij} rij假设任意一对对象之间存在某种关系,将“未知关系”看作是一种特殊关系。因此,被构建的场景图是全连通的。

Visual Relation Encoder:
视觉关系编码器由一个视觉模块和一个语言模块组成。
图片3
图像首先被输入到在ImageNet上预训练的ResNet-101网络生成14×14的特征图xsxoxr作为视觉模块的输入。输出是三个视觉嵌入向量vsvovr对应于它们之间的subjectobjectrelationship。语言模块使用GRU编码文本注释lslolr来生成与视觉嵌入维度一致的文本嵌入。权重在subject分支和object分支之间共享,GRU由三个分支共享。区域特征由crop-size 7×7的ROI-Align得到。一个1×1卷积层将2048维的特征投影到512维。对于每个边界框,三个连续的3×3卷积层将7×7的特征图压缩为单个的512维向量。虚线表示为优化卷积层梯度流而添加的shortcut connections。训练目标表示为:
L t o t a l = L s + L r + L o . L_{total} = L_s + L_r + L_o. Ltotal=Ls+Lr+Lo.分别是subjectrelationobject的损失。对于每一个损失,目标是最小化positive对和alienate negative对嵌入之间的余弦相似性。

Scene Graph Convolution:
基于graph attention networks,通过聚合相邻节点间的信息和它们之间的关系来更新每个节点的表示。利用问题关系引导的self-attention对给定问题的inter-object关系进行相关性推断。其中的注意机制是多头的,允许操作检验三个或更多对象之间的交互。注意权重由问题嵌入和关系嵌入rji共同计算。

Object Attentioin and Prediction:
问题引导的object attention检验更新过的对象嵌入来找到最相关的对象。注意权重用来衡量节点对回答问题的重要性。计算方法是首先将问题嵌入和节点隐藏状态进行投影和融合,然后在线性层之后应用softmax运算。

最后使用一个两层的MLP(第一层1024,第二层为所有可能答案的数目)为候选答案预测分数。Dropout = 0.5。损失函数:BCE loss。

Experimental Studies

Datasets and Metrics

GQA:
基于真实世界图像,具有强大的语言先验。除了准确度度量外,还提供了一致性度量,用于度量对语义上等价或包含的问题的响应;检验答案是否在合理范围内的有效性和合理性指标;度量预测答案分布与实际值之间差异的分布度量;检验模型是否关注图像中与问题相关的区域的Grouding度量。
VQA 2.0:
采取措施防止语言先验的数据集。
图片4
一致性最佳:这是使用先验视觉关系学习的显著优势。

Conclusions

本文提出的新模型考虑了对象间的语义关系;图像用场景图表示;使用一个编码器来嵌入视觉关系;场景图卷积操作被用来更新节点的隐藏状态,使用的信息是对象以及由问题引导的它们之间的语义关系信息。实验结果证明提出的模型有很好的关系识别语义关系推理能力。

总结

本文来自 2020 IEEE International Conference on Image Processing (ICIP)。

在VQA 2.0上的总体精度在67%左右,距离我比较了解的19年的使用co-attention的MCAN精度70%+还是有一定差距的。在有强语言先验的GQA数据集上性能提升比较大,体现了使用先验视觉关系学习的优势,但对GQA这个数据集我也不是很了解,不知道最先进的模型能达到怎样的精度。

在Github上搜索了一下没有找到相关代码。