Paper Reading  | Visual Question Answering

[读论文]Visual Translation Embedding Network for Visual Relation Detection

Metadata

文章标题: Visual Translation Embedding Network for Visual Relation Detection
作者: Hanwang Zhang, Zawlin Kyaw, Shih-Fu Chang, Tat-Seng Chua
文章发表: CVPR 2017
下载地址: CVPR 2017, arXiv 2017.02

Intro

这篇文章的主要目标是从图片中抽取一些实体之间的相互关系。例如下面这张图:

Fq9thlvyCJXi5kqDEiDToik3vFA0

这篇文章提出了一个叫做VTransE (Visual Translation Embedding network)的端到端的模型,在做目标检测的同时,预测他们之间的关系。文章的动机是想要让图片中的特征空间映射到一个relation空间中。下图是一个例子:

FgAeiXhR3vpNEmHBqXbA1YvjE9Qf

以关系ride来说,VTransE并不会对所有包含ride的图片进行建模,而是通过对relation space中的translation vector进行建模。也就是说,不管图片中的subject(head)、object(tail)是什么,ride的这个translation应该都是一样的。这也就是Trans系列Knowledge Embedding对应的思想。

VTransE

整个系统的流程是这个样子:
FpXmttS-XrZmwWyKIRFLUctPY3kO

构成这个系统的重要一部分就是Visual Translation Embedding的方法。

Visual Translation Embedding

首先假设subject和object分别用一个向量表示其特征:\(x_S,x_O\in \mathbb{R}^M\)。然后针对每一个subject \(s\)和subject\(o\),分别有对应的mapping matrices\(W_s,W_o\in\mathbb{R}^{r\times M} (r\ll M)\)。然后对每一个relation都有一个translation vector\(t_p\in\mathbb{R}^r\)。然后训练的目的就是对每一个合理的relationship,都有:

\begin{align}
W_sx_s+t_p\approx W_ox_o
\end{align}

而整体的loss则是

\begin{align}
\mathcal{rel}=\sum_{(s,p,o)\in\mathcal{R}}-\log \text{softmax}\left(t_p^\top(W_ox_o-W_sx_s)\right)
\end{align}

与在Knowledge Graph Embedding中所做的不同,TransE是针对KB中的RDF三元组进行的,并且在training的过程中不断修正subject、relation、object三个向量,而此处的subject和object则是从图像中抽取的visual feature。

Feature Extraction

这个模块的作用,就是给定图片,抽取\(x_s\)和\(x_o\)。

Feature一共包含三类:

  1. Classeme: 一个\(N+1\)维的向量,用来表示object所属类别的概率。其中\(N\)个类别数,\(1\)表示背景。
  2. Location: 一个4维向量\((t_x,t_y,t_w,t_h)\),用来表示一个bounding box。这个值是用subject对象减object对象的bounding box然后归一化得到的:\(t_x=\frac{x-x'}{w'}, t_y=\frac{y-y'}{h'},t_w=\log\frac{w}{w'},t_h=\log\frac{h}{h'}\)。其中\((x,y,w,h)\)和\((x',y',w',h')\)分别是subject和object的bounding box。包含这部分位置数据,是由于它不但能用来探测空间中的位置介词,还能帮助预测动词。例如如果一个subject在object的上面,则他们的关系有可能是ride。
  3. Visual Feature: 一个D维向量,是从一个形如\(X\times Y\times C\)的卷积特征转换而来的。而且为了实现端到端training,这个feature是通过对最后一层conv-feature map进行bilinearly interpolation得到的。

将上面的三个特征加权拼接在一起,形成一个长度为\(M=N+D+5\)维的向量。就是\(x_s,x_o\)。

其中为了识别图片中的object,文章使用了VGG-16的Faster-RCNN。模型首先产生256个region proposal boxes,然后判断它的可能性。最后将positive proposal输入到一个\((N+1)\)类分类器和\(N\)个bounding box。

Experiments

实验部分,作者力图解答下面三个问题:

  1. Relation Embedding的这个想法在视觉领域是否有作用?
  2. 特征在relation detection和knowledge transfer中起到了什么作用?
  3. VTransE与其他模型对比有什么提升?

作者招到了两个数据集:

  1. VRD, 包含5,000张图片,100个object和80个predicate。其中包含37,993个relation标注,平均每张图片包含6,672个标注数据,和24.25个predicates。
  2. VG, 这个是最新的Visual Genome 1.2的数据集。共计包含99,658张images和200个object categories和100个predicates。一共有1,174,692个标注,平均每个object category包含19,237个标注和57个predicates。
实验1:Evaluations of Translation Embedding (Q1)

为了证实VTransE对relation来说是一个很好的embedding模型,作者需要将object detection人物剥离出去,单独进行Predicate Prediction任务:输入ground-truth的object和bounding boxes,输出预测的predicates

实验使用JointBox(a softmax classifier that classifies the image of the subject and object joint bounding boxes into predicates)作为对比模型。然后使用VTransE在给定一对subject和object boxes时对predicate的分类结果。

Object Detection的性能如下:
FvAAHohUAHsVS1IhKn7UuAPbEs1i

对于Embedding model,可以用t-SNE把embedding的relation可视化:

Fh9IDbDFwJSMFgXbQFO-vj_dFW0V

分析结果可以发现,JointBox方法将park on这类relation绑定到了car这个object上。而VTransE能够将这个relation泛化到相似的object上,例如planebus等。

实验2:Evaluations of Features (Q2)

为了检测feature的性能,作者进行了relation detection任务:输入一张图片,输出图片中包含的relation triple和subject与object同时跟ground-truth overlap 0.5以上的包围盒

由于之前图像包含了多个不同的feature,所以作者通过实验想要确定那部分feature的贡献最大,所以作者用四种不同的feature搭配进行了实验:(1) Classme, (2) Location, (3) Visual (4) Classme+location+visual。然后评价指标是在使用这个feature之后进行relation detection。然后评价它们的Recall@K指标。在两个不同的数据上性能如下:

FuEfhM5m_HGnQ7-eQxhBtV3lp3CD

下图展示了使用VTransE学习到的features能够帮助修正bounding box的定性的测试:

FmC2CnkRXEjz2bGq-gILRYYjI2UE

实验3:Comparison with State-of-The-Arts (Q3)

这个实验输入一张图片,然后输出一组relation triples和每个与ground-truth的subject、object有大于0.5的overlap的bounding box。(感觉跟上面一个实验很像啊)

然后还做了两个实验:1) Relation Retrieval:使用给定的relation triple来查找图片。2) Zero-shot Learning:在训练时,单独的subject、object和predicate都出现过,但是有一部分它们组成的triple在测试时没出现过。

FvxxFC4nedwFoB1Fvi5l0M5nl_aU

还有一个对比的定性的研究:

FgUeBnbzkBOEmQCyJVqcWb3rAOKw

结论:

Task:visual relation detection。
模型:VTransE
方法:将relation和visual feature embed到同一个空间中。
亮点:feature由三部分组成。包括classme(使用Faster-RCNN得到的object类别)、bounding box