Detecting Visual Relationships with Deep Relational Networks(阅读笔记)
Published:
This is an original article. Please indicate reference if reproduced.
Introduction
图像中的真实世界通常存在多种相互作用的物体。为了理解这些图像,仅仅做到对单个物体的识别是远远不够的。物体间的关系也存在着很重要的信息。例如,图像说明(image caption)是一种很受欢迎的计算机视觉应用能够基于图像中物体的关系生成丰富的语言描述。随着深度学习的快速发展,我们目睹了计算机视觉在物体识别、场景分类、抽象检测等几项关键任务中取得的显著成就。然而,视觉关系检测仍然是非常困难的一项任务。Visual Genome,一个用于结构性图像理解的大型数据集,最好的方法在Recall@50指标中仅仅能达到11.9%的结果。显然这个结果远远不能让人满意。
任务描述: 输入是一张含有多个物体的图像,对于图像中的一对物体,输出是一个三元组(s,r,o),分别表示这对物体的主语(物体1)、谓语(关系)和宾语(物体2)。如下图所示:
Related Work
相关工作主要有以下几项内容:
- 早期的工作主要聚焦在特殊类型的关系上(如位置、动作),主要用来帮助完成其他任务(如目标检测、图像分类与检索等等)。
- 然后,有一种思路是把每一种可区分的物体组合与关系词共同作为一类(也称视觉短语)。但是这种方法很难应对一般的情况,因为这种组合的数量非常庞大。
- 还有一种思路是将关系词与物体类别分别预测。
- Lu et al. 在2016的工作是与我们最相关的。他们将一对检测到的物体送到分类器中,并结合了表层特征和语言先验用来识别物体间的关系。
Visual Relationship Detection
- 目标检测 给一张图像作为输入,我们首先使用Faster RCNN进行目标检测,每个检测到的候选区域都有一个边框信息和表层特征。
- 物体对过滤 对于n个检测到的物体,一共可以组合成$n\times(n-1)$对物体,图像中的物体不可能都具有关系,如一些距离较远的物体就不太可能存在相互联系。因此,作者设计了一种低复杂度的神经网络用来对这些物体对进行筛选。
- 联合识别 该模块结合了多种特征作为输入,并输出一个三元组(s,r,o)作为输出:
- 表征(Appearance) 除了可以从上述目标检测过程中获取单个物体的表征之外,物体间的关系也反应在两个物体共同存在的视觉区域上。因此,将两个物体共同存在的区域框出来,并适当拓展边缘,通过Appr Module抽取特征,作为联合识别模块的一组特征。值得注意的是,从图2中可以看出,主语(物体1)和宾语(物体2)的特征分别传递到了每次DR-Net的迭代过程中。
- 空间结构(Spatial Configurations) 两物体的关系也可以反应在空间结构上。这种特性可以充分表示单个物体,也对光照变化具有容错性。之前的工作通过几何度量来表示空间结构,本文使用来双空间模板来进行表示,他们分别由两个二值模板构成,一个表示主语,一个表示宾语。每个模板都被下采样为32x32大小。每个物体对的双空间模板将通过三层卷积网络被压缩成为一个64维的向量。
- 统计关系(Statistical Relations) 在一个三元组(s,r,o)中,关系词与主语和宾语通常存在着很强的统计依赖性。例如,(cat,eat,fish)是正常的,但是(fish,eat,cat)或者(cat,ride,fish)却不太可能。在Visual Genome数据集中,如果关系词先验分布的$p(r)$是2.88,则条件概率$p(r|s, o)$是1.21。这个差别也清楚得说明两统计依赖性。
我们因此提出了DR-Net,使用深度神经网络来表示这种统计依赖性。在实验中,作者发现这种关系可以有效解决由于视觉或者空间特征引起的奇异 - 综合判断(Integrated Prediction) 如图2所示,对于每一对物体,分别通过表征模块和空间模块来抽取表层特征和空间特征。然后,把两种特征连结起来通过两层全连结网络进行压缩。被压缩过的网络继而传递到DR-Net进行联合推理。通过多个推理单元,DR-Net网络将输出s,r,o的后验概率。最终,整个框架将选择最有可能的结果作为输出。
在训练中,框架中的三个阶段,object detection, pair filtering以及joint recognition被分别训练。至于joint recognition阶段,不同的特征综合到一起作为输入传给一个网络,然后联合微调来最大化联合概率。
Deep Relational Network
对于视觉关系识别任务,条件随机场(CRF)可以表示为:
\[p(r, s ,o|X_r, X_s, X_o)=\frac{1}{Z}exp(\Phi(r, s ,o|X_r, X_s, X_o; W))\]其中,$X_r$表示压缩后的物体对的特征,$X_s$和$X_o$分别表示主语和宾语的特征。$W$表示模型参数,$Z$表示正则化约束。联合隐变量$\Phi$可以表示为多个单隐变量的和:
\[\Phi={\psi}\_a(s|X\_s;W\_a)+{\psi}\_a(o|X\_o;W\_a)+{\psi}\_r(r|X\_r;W\_r) \\\\ +{\varphi}\_{rs}(r, s|W\_{rs})+{\varphi}\_{ro}(r,o|W\_{ro})+{\varphi}\_{so}(s,o|W\_{so})\]其中,单隐变量${\psi}_a$联系主语(宾语)与起表征;${\psi}_r$联系关系词与特征$X_r$;二元潜变量${\varphi}_{rs}$,${\varphi}_{ro}$和${\varphi}_{so}$用来表示关系词r,主语类别s,和宾语类别o之间的关系。
基于上述CRF的表示,给定s和o,则r的后验概率可以表示为:
\[p(r|s,o,X\_r;W){\propto}exp({\psi}\_r(r|X\_r;W\_r) \\\\ +{\varphi}\_{rs}(r, s|W\_{rs})+{\varphi}\_{ro}(r,o|W\_{ro}))\]一般情况下,${\psi}_r(r|X_r;W_r)$通常被设计为线性函数。 让$W_{rs}$和$W_{ro}$分别为矩阵,则有$W_{rs}(r,s)={\varphi}_{rs}(r,s)$和$W_{ro}(r,o)={\varphi}_{ro}(r,o)$。并且,令$q_r$表示为r的后验概率向量,然后上述公式可以重新写作:
\[q\_r={\sigma}(W\_rX\_r+W\_{rs}1\_s+W\_{ro}1\_o)\]这里,$\sigma$表示softmax函数。$1_s$和$1_s$分别表示s和r的one-hot指示向量。因此整个问题如下的优化问题:
\[\max\_{q}E\_q[{\psi}\_r(r|X\_r;W\_r) \\\\ +{\varphi}\_{rs}(r, s|W\_{rs})+{\varphi}\_{ro}(r,o|W\_{ro})]+H\_q(q)\]如果s和o是不确定的,并且以概率向量$q_s$和$q_o$来表示,则:
\[q\_r={\sigma}(W\_rX\_r+W\_{rs}q\_s+W\_{ro}q\_o)\]同理,这个推理公式可以用到s和o上来,因此,我们就可以得到如下更新公式:
\[q^{'}\_s={\sigma}(W\_aX\_s+W\_{sr}q\_r+W\_{so}q\_o) \\\\ q^{'}\_r={\sigma}(W\_rX\_r+W\_{rs}q\_s+W\_{ro}q\_o) \\\\ q^{'}\_o={\sigma}(W\_aX\_o+W\_{os}q\_s+W\_{or}q\_r)\]Experiments
数据集
VRD:5000张图像,37993种视觉关系,6672种三元组
sVG:108k张图像,998k种视觉关系,74361种三元组
实验配置
模型训练. 所有实验都使用来Caffe架构。表征模块使用ImageNet来预训练,空间模块和DR-Net随机初始化。初始化之后,整个网络使用SGD进行联合优化。
性能衡量. Recall@50和Recall@100。分别根据概率取前50和100个结果计算召回率。
任务设定. 1)Predicate recognition,在给定主语和宾语标签以及坐标的情况下判断其关系词。2)Union box detection,将整个三元组所在区域用bounding box框出来,要求准确预测出三元组(s,r,o)以及bounding box的坐标,IoU与ground-truth的重叠率需在50%以上。3)Two boxes detection,与2)相似,要求分别预测主语与宾语的bounding box位置。
结果比较
文中进行了三组对照实验。
与baselines的比较:
本文方法虽然在关系识别中取得了很好的性能,但是在Union box detection和Two boxes detection两项指标下的结果却并没有得到显著提高。作者初步分析是由于目标检测器造成的。实验发现目标检测的Recall@50大约只有30%。
在该方法的不同配置下进行比较,得到如下结论:
- 使用更好的特征提取网络结构可以取得更好的结果。(ResNet101 vs. VGG16)
- 表征和空间特征结合起来比只使用其中一种取得的效果要好。
- 物体间关系的统计依赖是非常重要的,实验表明其可以帮助解决关系词的歧义问题。本文中,统计依赖的学习通过DR-Net来完成。
比较不同结构下的性能:
主要有两方面结论
- 随着推理单元的增加,Recall@1的结果也在上升。
- 推理单元的参数不进行共享比共享下的性能要好,因为可以复杂的参数有更好的表达能力。
场景图生成
该模型也可用于场景图生成。生成的场景图可应用与图像描述、视觉问答和图像检索等基本任务中。
Conclusion
与图像的caption任务相比,研究图像中物体间的关系这个任务更加具体。而且因为数据集和相关研究相对较少,有在不同场景中继续发觉研究价值的前景。
如有任何相关问题欢迎评论或者邮件讨论15120452@bjtu.edu.cn