Situation Recognition with Graph Neural Network
摘要
我们解决了识别图像情况的问题。 给定一个图像,任务是预测最明显的动词(动作),并填充其语义角色,例如谁在执行该动作,该动作的源和目标是什么等。不同的动词具有不同的角色( 例如,攻击具有武器),并且每个角色可以具有许多可能的值(名词)。 我们提出了一个基于图神经网络的模型,该模型允许我们使用在图上定义的神经网络有效地捕获角色之间的联合依赖关系。 具有不同图形连通性的实验表明,我们在角色之间传播信息的方法明显优于现有工作以及多个基准。 在预测整个情况时,我们比以前的工作大约提高了3-5%。 我们还将对我们的模型以及动词中不同角色的影响进行全面的定性分析。
引言
目标分类[14,33,36],动作分类[35,40]以及场景分类[50,51]的研究已经有一段时间(??),其中的部分任务已经可以达到人类的水准(这句的表达应该是怎么样的呢),然而在一些真实应用场景下,比如机器人,则需要对场景进行更为详细的理解。例如,只知道图片的描述为”repairing”这个动作是不足以了解当前画面真实发生的事件,还需要诸如修理房子的人是谁,使用的是什么工具等等信息。
近来已经有几个用于这种详细理解图像的数据集被提出[22,27,47],在[22]中,Visual Genome数据集的建立包含了物体之间的依赖关系(还是说交互比较合适?),A subset of the scenes were further annotated with scene graphs [17] to capture both unary (e.g. attributes) and pairwise (e.g. relative spatial info) object relationships. 数据的标注上,增加了除了一元(例如属性)之外的成对的关系(比如相对空间信息)。较近的,Yatskar等人[47],在该思路的基础上,将数据集扩展一个动作对应一个框架的标注的形式,该框架由一组固定的语义角色组成。图1表示了repairing这个动作的框架。当前任务要解决的问题则是为基于图片内容的语义角色分配对应的值(名词实体),其所涉及到的语义角色、可能被标注的值以及动作的数量都是非常大的,使其成为一个颇具难点的预测任务。正如图2所示,同样的动作会出现在不同的图片上下文情境中,语义角色所对应的实体名词也就大不相同。
In particular, a neural network was trained in an end-to-end fashion to both, predict the unary potentials for verbs and nouns, and to perform inference in the CRF. While their model captured the dependency between the verb and role-noun pairs, dependencies between the roles were not modeled explicitly.
在[47]中,作者提出了一个CRF模型用于建模verb-role-noun对之间的依赖关系,具体实现上,使用了一个端到端训练的卷积神经网络来同时预测一元的(这段不太会翻译,CRF的描述自己结合之前的学习总结一下)。模型在捕获动词和角色-名词对的依赖的同时,角色与角色之间的依赖却被忽略了。
相关工作
Situation recognition将识别动作泛化到包括参与活动的人、物以及发生的地点等。已经有部分工作将动作识别和场景、物体标注结合[7,12,44,45],工作[13,31]提出了视觉语义角色标注任务,建立了可以在学习行为的同时定位人和物的数据集。在另一条思路下,Yatskar[47]等人利用FrameNet[]和WordNet[]的语言学资源创建了imSitu数据集,不仅将图像与动词相关联,同时关联特定的角色-名词实体组合来更为详细的描述动作。该作者提出的baseline基于条件随机场(CRF),联合建模了动词以及动词-角色-名词实体元组的预测。进一步的在他们接下来的工作中,考虑到了输出空间的庞大以及训练数据中的稀疏性可能会带来问题,作者在[46]中提出了张量合成函数来共享不同角色之间的名词。同时作者还提出通过使用根据结构化情景构建的查询短语搜索图像来增强训练数据。
和此前的方法不同,我们的工作聚焦于通过使用不同的神经体系结构,对每个动词的角色之间的依赖关系进行建模。
图像理解。 最近几年,对联合视觉和语言任务的研究激增。图像和视频中的视觉回答问题[1,38]旨在回答与图像或视频内容有关的问题,图像标题生成任务[19,39,42,26]生成一个自然语言语句来描述图像。这些任务通常使用CNN-RNN的pipeline(怎么翻译)来得到一个标题或者特定问题的答案,动词和名词之间的依赖关系通常是通过RNN隐式学习的。另一种任务是列出所有重要对象及其属性和关系,Johnson等人[17]创建了scene graph用于视觉关系检测任务[27,30,48],在【25】中,作者利用scene graph来生成图像标题。
在自然语言处理(Natural Language Processing,NLP)任务中,语义角色标注任务涉及标注带有主题或语义角色的句子[11,18,20,32,43,52]。视觉语义角色标注,或者说场景识别,建立在NLP资源以及诸如FrameNet[10]和WordNet[29]之类的数据集之上,旨在通过动词-角色-名词实体这样的组合来解释某一特定动作的细节。
Graph Neural Network。(这一大段就是介绍图网络的了)分析一通之后说了用GGNN来做。