Visual Translation Embedding Network for Visual Relation Detection使用VTransE网络来进行视觉关系检测

1.论文相关

论文题目:Visual Translation Embedding Network for Visual Relation Detection

论文作者:Hanwang Zhang, Zawlin Kyaw, Shih-Fu Chang, Tat-Seng Chua

2.论文

2.1摘要

        视觉关系,例如“人骑车”和“自行车紧挨着汽车”,提供了对一副图片的综合场景的理解,并且在联系计算机视觉和自然语言方面展示出了巨大的作用。然而,由于模拟“主谓宾”三元组的复杂性的挑战,人们仅仅做了非常少的工作来定位并且预测视觉关系。受到最近知识库和卷积目标检测网络的关系表示学习的最新进展的启发,我们提出了视觉转换嵌入网络(VTransE)来进行视觉关系检测。VTransE将目标置于低维关系空间,在这个空间里将一个关系建模为一种简单的向量转换,比如,主体+谓词≈宾语。我们提出了一个新颖的特征提取层,这个提取层使得目标关系知识的迁移能够以全卷积的形式进行,其支持在简单的前向\后向通路中训练和推理。据我们所知,VTransE是第一个端到端关系检测网络。我们在两个大型数据集:Visual Relationship和Visual Genome上证明了VTransE相比其他时下最优的方法的有效性。要注意,虽然VTransE只是一个纯视觉模型,它仍然可以与Lu的带有语言先验知识的多模态模型相提并论。

2.2引入

        从可视成熟的视觉检测,到新兴的视觉字幕和问题回答,我们正在见证着连接计算机视觉和自然语言这一方向的科学令人印象深刻的发展。然而,对于后者——视觉语言任务——绝大多数现有的努力都在尝试直接连接视觉模型(例如,CNN)和语言模型(例如,RNN),但是很少是着眼于建模和理解目标之间的关系。结果,这些模型呈现出了糟糕的泛化能力,因为他们经常是针对特定数据集上的具体任务来进行优化,例如图像字幕或者图像问答。

Visual Translation Embedding Network for Visual Relation Detection使用VTransE网络来进行视觉关系检测

        如图1所示,我们从较低级别的目标检测前进一步,从较高级别的语言建模后退一步,着眼于一幅图片中目标之间的视觉关系。我们将视觉关系称为主谓宾三元组,其中谓语可以是动词(person1-talk-person2),空间(clock-above-person2),介词(car-with-wheel)和比较(person1-taller-person2)。视觉关系自然而然地连接了视觉和语言,它将目标置于一个上下文语义环境中,这个上下文描述了什么目标在哪里如何和另一个目标发生联系。比如,如果我们成功地检测到了“钟表在人物二上方”和“人物二穿着夹克”,那么图1所示问题的答案“灰色”背后的逻辑通过使用数据集独立推理将变得明确可解释,例如,知识库问答,从而获得更好的泛化能力甚至实现zero-shot学习。

  在这篇论文里,我们提出了卷积定位网络实现视觉关系检测,这被称为视觉转换嵌入网络(VTransE)。它检测目标的同时以一种端到端的形式同时预测一张图片里目标之间的关系。我们强调使得VTransE有效且可辨别的2个关键创新点:

        转换嵌入。因为关系是目标和预测的组合,它们的分布比目标要显得更长尾。对于N个目标和R个预测来说,我们必须解决一个基本的挑战就是用很少的例子学习O(N^2*R)个关系。一个常见的解决办法是分别针对目标和谓词学习不同模型,即将复杂度降低到O( N + R )。然而,谓词表现形式巨大的变化使得学习更具挑战性。例如,“骑”这个动作的表现形式可以表示“人骑车”,又可以表示为“人骑大象”。有鉴于此,受到表示大型知识库的转换嵌入的启发,我们提出通过将目标和谓词映射到低维空间来建模视觉关系,在这个空间里,关系三元组被解释为一种向量转换,如“人+骑≈自行车”。如图2所示,通过避免使用大量变量来学习大量主谓宾表示关系,我们仅仅需要学习关系空间里的“骑”转换向量,即使主语或者宾语有巨大的变换。

Visual Translation Embedding Network for Visual Relation Detection使用VTransE网络来进行视觉关系检测

  关系中的知识转换。认知证据表明,对象及其相互作用的识别是相互的。比如,“人”和“自行车”的检测可以作为“骑”这个谓词的上下文环境,这反过来也限制了两个对象的接合,从而有利于对象检测。受此启发,我们明确地将VTransE中的对象和谓词之间的知识转移结合起来。具体来说,我们提出了一种新颖的特征提取层,它提取了转换嵌入中使用的三种类型的对象特征:分类(即,类概率),位置(即边界框坐标和比例)以及RoI视觉特征。特别地,我们使用双线性特征插值而不是RoI pooling用于可微分坐标。因此,对象和关系之间的信息——置信度,位置,尺度——可以以端到端的方式通过单一的前向/后向传递。
  我们在最近发布的两个数据集上评估了VTransE:Visual Relationship数据集,包含5000张图片和6672对不同的关系;Visual Genome数据集,包含99658张图片和19237对不同的关系。与若干时下最优的视觉关系模型相比,我们的模型显示了显著的性能提升。特别地,我们纯粹的视觉VTransE在检测和检索方面甚至能胜过结合视觉和语言先验知识的多模态模型,在zero-shot 学习上有一点差。
  总的来说,我们的贡献如下:1)我们提出了一个视觉关系检测模型VTransE,这是一个能同时检测目标和关系的卷积网络。据我们所知,这是第一个端到端的检测网络;2)我们提出了一个结合了转换嵌入和知识转化的新颖的关系学习模型VTransE;3)VTransE在视觉关系检测上与若干强大的基本算法相比有了很大的性能提升。

2.3相关工作

        我们的工作着眼于最近表示图片语义信息所取得的进步上。已经有证明,高质量的语义表示提供了更多的综合场景理解,这巩固了许多视觉语言任务的基础,如VQA,字幕和复杂查询检索。视觉关系检测不仅仅是标记出目标们所在区域,更要描述它们的相互关系。特别地,我们的VTransE网络吸取了近来关系学习和目标检测的相关工作。
  视觉关系检测。与将关系视为隐藏变量的方法不同,我们将明确的关系划分为两类:联合模型和分离模型。对于联合模型,一个关系三元组被看作一个特别的类。然而,长尾分布是可扩展性的固有缺陷。因此,我们采用了分离模型,单独学习主语、宾语和谓词。但是,建模大量的视觉谓词变量非常具有挑战性。受TransE在大规模知识库上关系学习的成功应用的鼓舞,我们的VTransE通过使用较少变量将主体和目标映射到低维关系空间来扩展TransE,并且将谓词建模为一个主体和目标之间的转换向量。注意到,虽然已经有些工作在探索语言先验知识来增强关系检测,但是我们只对视觉模型感兴趣。

  目标检测。VTransE基于一个包含RPN和分类层的目标检测模块。特别地,我们使用Faster-RCNN,它是从其前身演变而来的,需要额外的区域推荐输入。注意,VTransE不能被简单地认为是将关系预测层附加到Faster-RCNN上。事实上,我们提出了一个新颖的目标提取层,它允许目标和关系之间的知识转换。该层利用双线性插值,而不是在Faster-RCNN中的非平滑RoI池化,从而可以在单个前向/后向通过中实现对象和谓词的倒数学习。请注意,VTransE可以结合任何包含RPN的对象检测网络,如最近的SSD和YOLO。

3.算法

Visual Translation Embedding Network for Visual Relation Detection使用VTransE网络来进行视觉关系检测

Visual Translation Embedding Network for Visual Relation Detection使用VTransE网络来进行视觉关系检测

Visual Translation Embedding Network for Visual Relation Detection使用VTransE网络来进行视觉关系检测

Visual Translation Embedding Network for Visual Relation Detection使用VTransE网络来进行视觉关系检测

Visual Translation Embedding Network for Visual Relation Detection使用VTransE网络来进行视觉关系检测

Visual Translation Embedding Network for Visual Relation Detection使用VTransE网络来进行视觉关系检测

Visual Translation Embedding Network for Visual Relation Detection使用VTransE网络来进行视觉关系检测

Visual Translation Embedding Network for Visual Relation Detection使用VTransE网络来进行视觉关系检测

4.实验

        我们打算通过回答下面三个问题来验证我们VTransE网络的有效性。问题1:嵌入关系的思想在视觉信息域有效吗?问题2:在关系检测和知识转换时特征的影响是什么?问题3:整个VTransE网络与时下最优的视觉关系模型相比表现如何?

4.1数据集和度量方法

        具我们所知,目前只有2个大规模关系检测数据集。我们同时使用二者:
  VRD。视觉关系数据集。包含5000张图片,100个类,70个谓词。总的来说,VRD包含37993对关系,不同的关系有6672,每个类别平均拥有24.25个谓词。我们的训练/测试划分方法为,4000张用来训练,1000张用来测试,其中1877对关系仅仅存在于测试集当中,用来进行zero-shot评估。
  VG。最新的Visual Genome关系数据集1.2版。与VRD是由计算机视觉专家构造的不同,VG是有普通工人标注的,所以目标和关系都是有噪声的。因此,我们请求作者进行了一次正式的修正。比如,“年轻女性”和“小姐”都被合并为“女人”。总之,VG包含99658张图片,200个目标种类,100个谓词,1174692对关系,其中不同的关系有19237对,每个类别大概拥有57个谓词可以来描述。我们用73801张图片训练,25857张图片用来测试。

  我们使用[email protected][email protected]方法作为评估检测的度量方法。注意到,精度和平均精度是不合适的度量,因为视觉关系是不完整的,如果我们没能获得精确的数据,这会对检测进行惩罚。对于关系检索任务,我们采用[email protected],即计算前5个预测结果里面正确结果出现的次数,同时我们采用Median rank(Med r),这个指标表示第一次正确检测到关系时的平均排序。事实上,数据集的标注越完整,即使召回率很低,检测的精度通常也会大于50/100.因此,[email protected]和Med r来评估检索任务的话,会提供一个互补的对结果的评估。

Visual Translation Embedding Network for Visual Relation Detection使用VTransE网络来进行视觉关系检测

4.2对于转换嵌入方法的评估(问题1)

        设置。视觉关系检测需要同时检测目标和谓词关系。为恶劣考察VTransE是否是一个好的关系模型,我们需要将它和目标检测方法隔离开来执行谓词预测,及:使用目标的真实边界框来预测谓词。
  比较方法。我们比较联合标记框和VTransE两种方法。联合标记框将主体和目标当做一个联合边界框来进行谓词预测,VTransE则对一对主体和目标进行预测。为了较为公平的比较,我们两个方法都只使用边界框的RoI pooling视觉特征。
  结果。从表1可以看出,变形为公式3的VTransE表现优于联合框视觉模型。这是因为VTransE的谓词模型参数——转换向量——能够捕获较为重要的目标与目标之间的关系信息。图4显示,大部分谓词VTransE都能预测正确,而联合框方法在某些确定的模式下很可能产生偏差。比如,联合框预测“park on”这个动作是仅局限于汽车,而VTransE方法则可以将这个动作扩展到飞机和公共汽车。此外,通过检查图5中谓词参数向量之间的语义亲和度,我们可以推测JointBox实际上并不建模关系,而是建模关联目标的同时出现。例如,在联合框方法中,“beneath”这个向量和“drive”离得近的原因很大程度上是因为“road-beneath-car”和“car-drive on -road”总是同时出现;然而,VTransE则表现地更理解“beneath”的含义,因为“beneath”的相邻单词是“below”和“under”,并且“beneath”和“on”“above”这些单词相聚很远。
Visual Translation Embedding Network for Visual Relation Detection使用VTransE网络来进行视觉关系检测

4.3关于特征的评估(问题2)

Visual Translation Embedding Network for Visual Relation Detection使用VTransE网络来进行视觉关系检测
  设置。我们评估了3.1部分提出的特征是如何影响视觉关系的检测的。我们执行了关系检测:输入是一张图片,输出是一组关系三元组和与真实位置重叠率超过0.5的关系三元组的主体和目标的位置信息。
  比较方法。为了使用不同的特征,我们将VTransE消解为4中方法,分别使用:1)类别信息,2)位置信息,3)视觉特征,4)所有信息,即融合类别,位置,视觉特征,并进行尺度变换。注意到,以上所有方法均是通过端到端地方式进行训练。为了更进一步考察特征如何影响关系,我们将谓词分为4类:动词,空间词,介词,比较用词。
  结果。通过图6,我们可以知道什么特征擅长检测什么关系的具体细节:1)进行了尺度变换的融合了所有特征的方法在任意类别的关系上都有最好的表现;2)类别信息大体上在各种种类的关系上都要优于视觉特征信息,因为它既能表示视觉表观信息(比如目标长什么样子),又包含一定先验知识(比如一个“人”比一只“猫”更有可能在“骑自行车”)。然而,对于介词关系,所有的特征表现的都不是很好。这是因为介词的空间和视觉线索是不稳定的,比如“戴手表的人”和“有轮子的汽车”都用with来表示。
  表2证明VTransE端到端的训练方法有利于目标检测。这主要是因为特征提取层采用了知识转换的方法,使得关系预测产生的错误能够反向传播到目标检测模块。事实上,这个提升是可以预料到的,因为我们在目标类别信息之上又附加了关系类别信息。如图7所示,与预训练过的Faster-RCNN相比,VTransE的目标检测模块能改善边界框预测性能,比如轻微的调整,甚至从严重的错误恢复和纠正错误的检测。这证明,关系将目标置于一个上下文场景中。比如,当错误预测为“包”的时候,关系能够将其纠正为“短裤”,即使正确的检测结果应该是“裤子”,他们在语义上还是相似的。这个纠正很可能是被关系“人穿着短裤/裤子”推断出来的。

4.4与时下最优算法的对比(问题3)

        设置。一些联合框方法只能为一个关系检测一个联合的边界框,这个我们稍后会介绍。因此,除了关系预测,我们还进行短语检测:输入一张图片,输出一组关系三元组并输出那些与真实位置重叠超过0.5的关系的主体和目标的边界框的整个位置。

  为了更广泛地评估,我们还执行了两个额外的任务。1)关系检索。通过关系三元组查询语句进行图片搜索。我们首先在画廊图片上检测关系,并且根据关系查询的平均关系来给他们打分。一张图片如果至少被一次正确地查询到,则称之为一次命中。这个任务是综合语义检索的一个表现。我们挑选了最常见的1000种关系作为查询目标。2)zero-shot学习。独立的主体,目标和谓语在训练和测试的时候都出现过,但是一些特殊的关系只有在测试集中才出现过。由于关系分布是长尾特性,所以这是一个实际的设置,因为你不可能把所有数据的三元组都收集来。
  比较方法。我们将VTransE网络与4个时下最优的关系检测模型相比较。1)VisualPhrase:一种联合关系模型,它将每个不同的关系三元组视为一个关系类别,为了公平起见,我们将原本的DPM目标检测模型换成Faster-RCNN。2)DenseCap:它检测出子图区域同时给出描述。这是一个使用双线性插值来进行区域定位的端到端模型。我们将其的LSTM分类层替换为softmax来预测关系。因此,它也可以被视为是一个联合关系模型。3)Lu's-V:这是一个两阶段的分离式模型。首先使用R-CNN进行目标检测,其次采用最大边际联合框模型进行谓词分类。4)Lu's-VLK:除此之外,我们还将VTransE和2阶段训练模型VTransE-2stage进行对比,后者先使用Faster-RCNN进行目标检测,然后使用像问题一中那样的转换嵌入进行谓词预测。
  因为我们没有Lu的方法的训练源代码,所以我们不能把它们应用到VG数据集上,所以我们引用了他们论文里提出的VRD上的结果。此外,因为例如VisualPrase和DenseCap的模型只能将关系三元组当做一个整体来检测,所以他们不能用来进行zero-shot学习。因此,我们只报告了在VRD上正式的1877对zero-shot关系的zeor-shot结果。
  结果。从表3的定量结果和图8的定性结果,我们可知:
1) 像VTransE和Lu’s这种分离式关系模型的表现要优于VisualPhrase和DenseCap这种联合模型,尤其在VRD数据集上。这是因为联合模型对于所有关系的分类空间太巨大了,这就使得训练那些不频繁出现的关系时样本不够充足。
2) 对于分离式模型,目标检测网络性能越好(VTransE使用Faster-RCNN,Lu’s使用R-CNN),关系检测的结果就越好。如图8所示,在VRD数据集上,lu’s-VLK将音响误分为人,将盘子误分为碗。我们认为这是Lu’s-V方法比VTransE方法差的主要原因。
3) 即使VTransE是一个纯粹的视觉模型,它仍由于融合了语言先验的Lu’s-VLK,在VRD数据集上的[email protected]和Med r指标,我们的方法在短语检测,关系检测,关系检索方面分别要好20%,2%,230%。

4) 端到端的VTransE比2阶段的VTransE-2stage在整个数据集上表现得都要好。这和问题2中的结果一起都证明了目标和关系相互学习的有效性。

Visual Translation Embedding Network for Visual Relation Detection使用VTransE网络来进行视觉关系检测