Abstract
我们提出构建动态树结构,将图像中的对象置于视觉上下文中,以帮助可视化推理任务,如场景图的生成和可视化问答。我们的可视化上下文树模型,称为VCTREE, 与现有的结构化对象表示(包括链和全连通图)相比,有两个关键优势:
- 高效表达的二叉树编码对象之间固有的并行/分层关系, 例如,“clothes”和“pants”通常同时出现,属于“person”;
- 动态结构和图像到图像以及任务到任务不同,允许在对象之间传递更多特定于内容/任务的消息。
为了构造一个VCTREE,我们设计了一个计算每个对象对之间任务依赖有效性的得分函数,该树是得分矩阵中最大生成树的二进制版本。然后,使用双向TreeLSTM对视觉上下文进行编码,并使用特定任务模型进行解码。本文提出了一种将任务监督学习和树形结构强化学习相结合的混合学习方法,其中任务监督学习的评价结果作为树形结构强化学习的自我评价。在两个需要对上下文进行推理的基准测试上的实验结果表明(分别是用于场景图生成的Visual Genome和用于视觉问答的VQA2.0),VCTREE在发现可解释的视觉上下文结构时优于最新的结果。
Introduction
对象并不孤单。它们被放置在视觉上下文中:一种一致的对象配置,这归因于它们相互之间变化的事实。认知科学方面的大量研究表明,我们的大脑天生就利用视觉上下文来全面理解混乱的视觉场景[4,6,34]。
例如,即使在图1中没有完全观察到女孩的腿和马,我们仍然可以推断出“女孩骑马”。受此启发,在许多现代计算机视觉系统中,建模视觉上下文也是必不可少的。例如,最新的CNN架构通过各种感受野的卷积捕获上下文,并将其编码为多尺度特征图金字塔[7,26,54]。这种像素级的视觉上下文(或局部上下文[15])可以说是缩小人与机器之间“中级”视觉性能差距的关键作用之一,如基于R-CNN的对象检测[26,27,37]、实例分割[17,35]和基于FCN的语义分割[7, 8, 50]。
在“高级”视觉任务(例如图像标题[48]和视觉问与答[43])中,在对象级别显式地建模视觉上下文也被证明是有效的。例如,“人”在“马”上的空间布局对于确定关系“骑”很有用,如果我们要回答“谁骑着马?”,这反过来对“人”的定位很有帮助。但是,这些工作假设上下文是scene graph,其检测本身是高级任务,尚不可靠。没有高质量的scene graph,我们必须使用先验的布局结构。如图1所示,目前比较流行的两种结构是链[51]和全连通图[9,14,24,46,49],其中上下文采用顺序模型进行编码,链采用双向LSTM[18],图采用CRF-RNN[55]。
然而,这两个先验结构都不是最优的。首先,链被过度简化,可能只捕获简单的空间信息或共现偏差; 虽然完全连通图是完整的,但缺乏层次关系(如“头盔附在头”)和并行关系(如“骑在马的女孩”)之间的区分; 此外,密集的连接还可能导致后续上下文编码[46]中的消息传递饱和。第二,视觉上下文本质上是由内容/任务驱动的,例如,对象的布局应该因内容和问题的不同而不同。因此,固定的链和图与视觉语境[44]的动态性是不相容的。
在本文中,我们提出了一种名为VCTREE的模型,该模型开创了用于 诸如场景图生成(SGG)和视觉问答(VQA)等高级视觉推理任务 编码对象级视觉上下文的动态树结构的方法。给定一组图像中的目标建议(例如,从Faster-RCNN[37]获得),我们维护一个可训练的特定任务的目标得分矩阵,其中每个条目表示成对的目标的上下文有效性。然后,从分数矩阵中裁剪出一棵最大生成树,如图1所示的多分支树。然后,从分数矩阵中裁剪出一棵最大生成树,如图1所示的多分支树。这种动态结构代表了一种“硬”层次布局偏差,即什么物体应该从其他物体获得更多的上下文信息,例如,在“小女孩的头上有什么”这个问题下,人头上的物体最有信息;而在“骑在马上的女孩是正确的吗?”这个问题上,整个人的身体更重要。为了避免任意数量的子树密集连接造成的饱和问题,我们进一步将多分支树变形为等价的左孩子右兄弟二叉树[13],左边的分支(红色)表示层次关系,右边的分支(蓝色)表示并行关系,然后使用TreeLSTM[41]对上下文进行编码。
由于上面的VCTREE构造是离散的和不可微的,我们开发了一种混合学习策略,使用reinforcement[19, 38, 45]来进行树结构探索和上下文编码及其后续任务的监督学习。特别是,监督任务的评价结果(SGG的回忆和VQA的准确性)可以作为一个判决函数来指导树结构的“action”。我们在两个基准上评估VCTREE: SGG的Visual Genome[23]和VQA的VQA2.0[16]。对于SGG,我们在场景图生成、场景图分类和谓词分类三个标准任务上都达到了最新的水平; 对于VQA,我们在单模型性能上取得了有竞争力的结果。特别地,VCTREE帮助高级视觉模型对抗数据集偏差。例如,我们在提出的谓词分类的Mean Recall@100度量上比MOTIFS[51]获得了4.1%的绝对增益,并且观察到VQA2.0平衡对子集[42]比正常验证集有更高的改善。定性结果还表明,VCTREE构成了可解释的结构。
Related Work
Visual Context Structures. 尽管在视觉上下文的价值上达成了共识,但现有的上下文模型仍被多样化为各种隐式或显式方法。隐式模型将周围的像素直接编码为多尺度特征图,例如,膨胀卷积[50]提出了一种增加感受野的有效方法,适用于各种密集的预测任务[7、8];特征金字塔结构[26]将低分辨率的上下文特征与高分辨率的详细特征结合在一起,以丰富的语义促进对象检测。显式模型通过对象连接合并上下文线索。然而,这些方法[24,46,51]将对象分组成固定的布局,即链或图。
Learning to Compose Structures. 学习构造结构在NLP语句表示中越来越流行,如Cho等人,[10]使用门控递归卷积神经网络(grConv)控制自底向上的动态结构特征流。Choi等人的[11]将TreeLSTM与Gumbel-Softmax结合在一起,允许从纯文本中自动学习特定任务的树结构。然而,只有少数作品为图像构成视觉结构。传统的方法基于对象类别[12]或范例[30]为整个数据集构造一个统计依赖图/树。 这些统计方法不能将每个图像对象作为一个整体放在上下文中,从而对特定于内容/任务的方式进行推理。Socher等[40]构造了一个自底向上的树结构来解析图像;然而,他们的树结构学习是监督的,而我们的是增强,这不需要树的真实标签。
Visual Reasoning Tasks. 场景图生成(SGG)任务是从视觉关系检测(VRD)中衍生出来的。VRD[29]的早期工作将物体视为孤立的个体,而SGG将每个图像视为一个整体。随着被广泛使用的消息传递机制[46],SGG中利用了各种上下文模型[24,25,32,47],通过丰富的全局上下文来调整局部预测,使其成为不同上下文模型的最佳竞争领域。视觉问题回答(VQA)作为一项高级任务,在计算机视觉和自然语言处理之间架起了桥梁。最新的VQA模型[1、3、42]依赖于对象包的视觉关注,这可以被认为是一种琐碎的上下文结构。然而,我们提出学习一个动态的树形上下文结构,以可视化的内容和问题。