1. 背景
2. 方法概述
- 2.1 computing model inputs
- 2.2 Graph learner
- 2.3 Spatial Graph Convolutions
- 2.4 Prediction layers
3. 实验
4. 总结
1. 背景
最近的计算机视觉工作一直在探索更高层次的图像表示,特别是使用对象检测器和基于图的结构来更好地理解语义和空间图像理解。尽管如此,很少有人依赖于能够捕捉语义和空间关系的高级图像表示。在本文中,我们提出了一种新的基于图形的视觉问答方法。我们的方法结合了图形学习器模块,它学习输入图像的特定于问题的图形表示,以及最近的图形卷积概念,旨在学习捕获特定于问题的交互的图像表示。
2. 方法概述
本文所提出的方法如图 1 所示。作者开发了一种结合空间、图像和文本特征的深层神经网络来回答一个关于图像的问题。模型首先利用 Word embedding 和 RNN 来计算得到问题的表达,以及一组包含包围盒坐标和图像特征向量的物体描述。我们的图学习模块然后基于给定的问题,去学习一个邻接矩阵。这个邻接矩阵确保下一层 -空间图形卷积- 可以使其不但聚焦于对象,而且可以聚焦于问题相关的对象关系上。我们卷积图特征,随后经过 max-pooling,与 question embedding 组合在一起,利用一个简单的元素级相乘,从而可以预测一个答案。【预测与给定问题的答案有关的类。】
方法的核心是图形学习器,它以一个问题编码和一组具有相应图像特征的物体边界框作为输入。图形学习模块学习以问题为条件的图像的图形表示,并对场景中物体之间的相关交互进行建模。我们使用这个图形表示来学习图像的特征,这些特征通过使用图形卷积、最大池、 element-wise product .和完全连接的层来受到相关邻居的影响。
2.1 computing model inputs
模型的第一步是计算输入图像和问题的嵌入。我们使用目标检测器将给定的图像转换成 K 个 视觉特征。物体检测模型是我们方法的必要步骤,因为每个边界框将构成我们正在学习的特定于问题的图形表示中的一个节点。 **对每个提议的边界框进行嵌入,即卷积特征图对应区域的均值。**利用这种对象特征在其他工作中已经被证明可以提升 VQA 的效果,因为这使得模型可以聚焦于对象级特征,而不仅仅是 CNN特征。对于每个问题,我们使用预先训练好的词嵌入,将问题转换为一个可变长度的嵌入序列。然后,我们使用一个带有GRU cell的动态RNN将单词嵌入序列编码为单个问题嵌入q。
2.2 Graph learner
在这一部分,是全文最重要的贡献部分:图学习模块(the graph learner module)。该模块产生了一个基于问题的图像表示。它是通用的并且容易实现,学习了可解释且问题相关的特性之间的复杂关系。学习到的图结构通过定义的节点领域来驱动空间图卷积,它允许自然地学习一元和成对注意,因为邻接矩阵包含自循环。
我们想构建一个无向图 g = {V, E, A},其中 E 是待学习的边集合,A∈RN×N是相应的邻接矩阵。每一个顶点 v (v=k个)对应的是检测到的图像对象(边界框坐标和相关特征向量vk∈Rd)。我们想学习一个邻接矩阵 A,使得每条 (i, j, Ai,j)∈E 都以问题编码q为条件。直观的来讲,我们需要建模特征向量之间的相似性,及其他们与给定问题之间的相关性。这是通过将问题嵌入q连接到k个视觉特征Vk中实现的,我们将其写成[Vk][q],下面是我们计算的一个联合嵌入为:
其中,F :R∈dv+dq →Rdg是非线性函数。通过将联合嵌入ek连接到矩阵矩阵 ,这样就可以定义一个带自循环的无向图的邻接矩阵为A = EET,使得Ai,j = eiT ej。
这样的定义没有对图的稀疏性施加任何约束,因此可以产生一个完全连接的邻接矩阵。这不仅是一个计算上的问题,而且绝大多数VQA问题只需要关注图节点的一小部分。学习图结构将是后续图卷积层的主干,其目标是学习基于最相关的、特定于问题的邻居的对象特征的表示。这需要一个稀疏的图形结构,集中在图像最相关的方面。为了学习每个节点的稀疏邻域系统,我们采用的排序策略为:
其中,topm 返回的是:输入向量中前 m 个最大值的索引,ai 表示的是邻接矩阵的第 i 行。换句话说,给定节点的邻接系统将会对应与该节点有最强链接的 nodes。
2.3 Spatial Graph Convolutions
给出一个问题特定的图结构,然后利用图卷积的方法来学习新的对象表示,这些信息是由一个专门为回答给定问题而设计的邻域系统提供的。**图顶点 V (即边界框及其对应特征)的显著特征是它们在图像中的位置,可以在空间上对他们的联系进行建模。**此外,许多VQA问题要求模型能够感知图像中特征的方向和相对位置,但是许多之前的方法都忽略了这一点。
所以,我们使用一种 graph CNN 方法,直接在图形域上依赖于空间关系直接进行操作。使用成对坐标函数u(i, j)来获取空间信息,该函数为每个顶点i定义以i为中心的坐标系,其中u(i,j)是该系统中顶点j 的坐标。坐标函数u(i,j)返回一个极坐标向量(ρ,θ) 通过笛卡尔坐标和极坐标作为高斯内核和观察到的输入极坐标,因为极坐标独立方向(θ)和距离(ρ), 提供两个因素方向(θ)和距离(ρ)代表解空间关系,表述了顶点 i 和 j 的 相关的边界框中心的空间相对位置。我们认为这样效果好,这是因为极坐标分为:方向(θ)和距离(ρ),提供了两个角度来表示空间关系。
一个特别的步骤和挑战是:描述每个相邻节点对非规则邻域结构影响的patch算子的定义,提出使用 n 个 可学习均值和协方差的高斯核,其中均值可以解释为坐标中的方向和距离。对每一个 n,我们得到一个核权值wn(u),节点 i在核 n 处定义patch算子为:
其中,fn(i)∈Rdv, N (i)表示式2中顶点 i 的邻域。我们将每一个 patch算子的输出看做是:相邻特征的加权求和(a weighted sum of the neighbouring features), 高斯核的集合描述了每一个相邻特征对卷积操作输出时的影响。
我们调整 patch 算子使其包含一个附加的权重因子,该权重因子取决于生成的图边:
αij=s(ai)j,s(.)j 是缩放函数的第 j 个元素 (定义为所选邻接矩阵元素的softmax)。**这种形式意味着在顶点之间传递的消息的强度除了空间方向外,还可以通过信息进行加权。**在本文的模型中,这可以解释为网络在回答一个问题时应该注意两个节点之间的关系。因此,网络学会了以成对的方式关注问题的视觉特征。
最后,我们将顶点 i 处卷积运算的输出定义为n个核上的级联:
其中,每一个 在这里插入图片描述是一个可学习权重矩阵(即:卷积核),以dh作为输出卷积特征的选择维数。
2.4 Prediction layers
通过上述步骤,我们可以得到考虑结构化建模的特征输出,然后就可以进行答案的预测了。本文的做法是通过 max-pooling layer 得到图形hmax 的全局向量表示。图的这种向量表示可以被认为是图的高度非线性压缩,其中的表示已经被优化以回答手头的问题。然后我们通过一个元素级相乘进行融合合并问题q和图像hmax编码。最后,我们通过具有ReLU激活的2层MLP计算分类得分。
3. 实验
下图是学习到的图结构示例,这些示例导致成功的分类。我们在每张图片上报告多个问题的结果,并强调学习图形是如何根据手头的问题进行裁剪的。
4. 总结
在本文中,我们提出了一种新的基于图形的可视化问题回答方法。我们的模型根据当前的问题学习输入图像的图形表示。然后利用图卷积这一新颖而强大的概念,利用所学习的图结构学习最相关邻域的图像特征。在VQA v2数据集上的实验产生了有希望的结果,并证明了所学习的图结构的相关性和可解释性。可以考虑几个扩展和改进,我们的主要目标是展示学习图形结构的潜力和可解释性。我们发现,在一个相当简单的架构下,学习图的结构是非常有效的;进一步的工作可能需要考虑更复杂的体系结构来进一步细化所学习的图。我们的方法的一个重要限制是使用对象检测器作为预处理步骤。模型的性能高度依赖于检测器的质量,它可能产生重复或遗漏的对象。