(十一)论文阅读 | 视觉关系检测


简介

在这里插入图片描述

图1:论文原文

今天介绍的论文是一片关于视觉关系检测的文章,发表在 E C C V   2016 {\rm ECCV\ 2016} 上。视觉关系检测是在目标识别的基础上,进一步检测出目标检测关系。如“人”骑在“马”上,“人”和“马”是图像中的目标,而“骑”是两目标间的关系。该论文是视觉关系检测中较为经典的一篇,同时文中还介绍了一种新的 V R D {\rm VRD} 数据集和一个结合语言先验模型的关系预测模型。
论文原文 源码


0. Abstract

视觉关系是图像中目标间的相互作用,而目标间的关系多样,难以获得足够的训练样本。由于以上限制,前人工作只致力于预测目标间常见的关系,如人和自行车的关系为骑和推。论文提出的模型首先单独预测目标和关系,然后将其结合得到最终结果。通过语义词嵌入得到的语言先验用于预测目标间的关系,该模型可以凭借少量训练样本得到目标间的多种关系。最后,理解图像中目标间的关系可以用于改善图像检索。
论文贡献:(一)提出一种新的视觉关系检测模型;(二)提出一种在视觉关系检测模型上零次学习的方法;(三)该模型可以用于改善图像检索的性能;(四)提出一种新的 V R D {\rm VRD} 数据集。


1. Introduction

视觉关系可以通过 o b j e c t 1 p r e d i c a t e o b j e c t 2 {\rm {\left \langle object_1﹣predicate﹣object_2 \right \rangle}} 表示,视觉关系检测设计到目标检测和关系检测。 V i s u a l   P h r a s e s {\rm Visual\ Phrases} 使用 13 13 种目标间常见的关系,如果想要检测更多的关系,则需要大量的训练样本。即如果总共有 N N 个目标和 K K 种关系,则需要训练 O ( N 2 K ) O(N^2K) 个检测器。观察到有些目标间的关系不常见,而目标单独出现的概率很大。作者提出了一种视觉外观模型,总共需要 O ( N + K ) O(N+K) 个检测器来检测 O ( N 2 K ) O(N^2K) 种关系。
此外,目标间测关系在语义上是相互关联的,如人骑马和人骑象,马和象均为动物。即使没有大量人骑象的样本,也能根据人骑马这种样本推理。词向量嵌入是一种捕捉具有相似语义特征的样本。基于以上情况,论文提出了一种语言模块,使用预训练的词向量将目标间的关系映射到向量空间,具有相似语义特征的目标距离更近。
论文提出的模型通过关系嵌入空间学习目标和关系的视觉外观特征。同时提出一种新的视觉关系检测数据集,共计 5000 5000 张图像和 37993 37993 种关系。


2. Related Work

相关工作部分主要提到前人关于空间关系检测、人物交互检测和视觉关系的工作。


3. Visual Relationship Dataset

论文提出了一种新的视觉关系检测数据集,下面是几种常用数据集的比较:
在这里插入图片描述

图2:数据集


4. Visual Relationship Prediction Model

4.1 Training Approach

V i s u a l   A p p e a r a n c e   M o d u l e {\rm Visual\ Appearance\ Module} ,首先通过学习目标及其关系的外观特征对视觉关系 V ( ) V() 建模。由于目标间的某些关系不常见,论文采用先分别学习目标和关系的特征,再将二者结合的方法。
首先,使用 C N N {\rm CNN} N = 100 N=100 种目标分类;同样地,使用 C N N {\rm CNN} 集合目标的边界框对 K = 70 K=70 种关系分类。令 R i , j , k R_{\left \langle i,j,k \right \rangle} 表示数据集中标注的真实关系, i i j j 表示目标类别, k k 表示目标间的关系。对 V ( ) V() 建模的结果为( O 1 O_1 O 2 O_2 为目标对应的边界框): V ( R i , j , k , Θ O 1 , O 2 ) = P i ( O 1 ) ( z k T C N N ( O 1 , O 2 ) + s k ) P j ( O 2 ) (4.1) V(R_{\left \langle i,j,k \right \rangle},Θ|{\left \langle O_1,O_2 \right \rangle})=P_i(O_1)({\rm z}_k^T{\rm CNN}(O_1,O_2)+s_k)P_j(O_2)\tag{4.1}

其中 Θ Θ 为参数集 { z k T , s k } \{{\rm z}_k^T,s_k\} z k {\rm z}_k s k s_k 为学习参数,将 C N N {\rm CNN} 提取的特征转化为关系的概率。 k = 1 , 2 , . . . , K k=1,2,...,K 为关系, P i ( O 1 ) P_i(O_1) P j ( O 2 ) P_j(O_2) 分别为 O 1 O_1 对应目标属于类别 i i 的概率和 O 2 O_2 对应目标属于类别 j j 的概率。 C N N ( O 1 , O 2 ) {\rm CNN}(O_1,O_2) 是根据 O 1 O_1 O 2 O_2 提取的目标关系特征。

L a n g u a g e   M o d u l e {\rm Language\ Module} ,如上所述, p e r s o n r i d e h o r s e {\rm {\left \langle person﹣ride﹣horse\right \rangle}} p e r s o n r i d e e l e p h a n t {\rm {\left \langle person﹣ride﹣elephant\right \rangle}} 具有语义上的关联性。甚至,如果没有后者的样本,也能通过前者推导出来。论文提出的语言模块就是实现这一功能。
P r o j e c t   F u n c t i o n Project\ Function 首先,使用预训练的词向量 ( w o r d 2 v e c ) ({\rm word2vec}) 将关系中的两个目标转换到词嵌入空间。接着,将这两个向量连接在一起,使用可学习参数 W {\rm W} 将其转化到关系向量空间。映射函数展示了如何使两个目标相互关联。令 w o r d 2 v e c ( ) word2vec() 表示将词转化为其 300 300 维向量的函数。关系映射函数定义为: f ( R i , j , k , W ) = w k T [ w o r d 2 v e c ( t i ) , w o r d 2 v e c ( t j ) ] + b k (4.2) f(R_{\left \langle i,j,k \right \rangle},{\rm W})={\rm w}_k^T[word2vec(t_i),word2vec(t_j)]+b_k\tag{4.2}

其中 t j t_j 为第 j j 个类别的词, w k T {\rm w}_k^T 是一个 600 600 维向量, b k b_k 是偏置项。 W {\rm W} 是参数集 { { w 1 , b 1 } , . . . , { w k , b k } } \{\{{\rm w}_1,b_1\},...,\{{\rm w}_k,b_k\}\}

T r a i n i n g   P r o j e c t i o n   F u n c t i o n Training\ Projection\ Function 其次,最小化函数值 f ( ) f() 使得具有相似关系的目标的距离更近。例如使得 m a n r i d i n g h o r s e {\rm {\left \langle man﹣riding﹣horse\right \rangle}} m a n r i d i n g c o w {\rm {\left \langle man﹣riding﹣cow\right \rangle}} 更近,同时与 c a r h a s w h e e l {\rm {\left \langle car﹣has﹣wheel\right \rangle}} 更远。使用以下方式表述两组关系之间的距离: [ f ( R , W ) f ( R , W ) ] 2 d ( R , R ) = c o n s t a n t ,   R , R (4.3) \frac{[f(R,{\rm W})-f(R^{'},{\rm W})]^2}{d(R,R^{'})}=constant,\ {\forall}R,R^{'}\tag{4.3}

其中 d ( R , R ) d(R,R^{'}) 为在向量空间中两个目标的余弦距离与两个关系 R R , R R^{'} 之和。

现在,为了满足上式,随机采样关系对 ( R , R ) \Big({\left \langle R,R^{'}\right \rangle}\Big) 并最小化它们的方差: K ( W ) = v a r ( { [ f ( R , W ) f ( R , W ) ] 2 d ( R , R ) }   R , R ) (4.4) K({\rm W})=var(\{\frac{[f(R,{\rm W})-f(R^{'},{\rm W})]^2}{d(R,R^{'})}\}\ {\forall}R,R^{'})\tag{4.4}

其中 v a r ( ) var() 为方差函数,采样个数为 500 K {\rm 500K}

L i k e l i h o o d   o f   a   R e l a t i o n s h i p Likelihood\ of\ a\ Relationship 然后,理想情况下,上述映射函数能够预测视觉关系的似然。如,模型应以大概率确定 d o g d r i v e c a r {\rm {\left \langle dog﹣drive﹣car\right \rangle}} 不可能出现。作者假设如果关系 R R R R^{'} 出现次数更多,则接下来 R R 出现的可能性更大。则将其公式化为损失函数: L ( W ) = { R , R } m a x { f ( R W ) f ( R , W ) + 1 , 0 } (4.5) L({\rm W})=\sum_{\{R,R^{'}\}}{\rm max}\{f(R^{'},{\rm W})-f(R,{\rm W})+1,0\}\tag{4.5}

上式只针对训练集中出现的关系,而映射函数 f ( ) f() 针对所有的 o b j e c t 1 p r e d i c a t e o b j e c t 2 {\rm {\left \langle object_1﹣predicate﹣object_2\right \rangle}} 的组合,即使未出现在训练集。 m a x {\rm max} 在这的含义是促使正确的关系对满足 f ( R , W ) f ( R W ) 1 f(R,{\rm W})-f(R^{'}-{\rm W})≥1 。最小化损失函数等价于使得出现关系概率低的得分较低。
O b j e c t i o n   F u n c t i o n {\rm Objection\ Function} ,上面已得到视觉外观模型 V ( ) V() 和语言模型 f ( ) f() 。结合上述相关等式得到目标函数: C ( Θ , W ) = O 1 O 2 , R m a x { 1 V ( R , Θ O 1 O 2 ) f ( R , W ) + max O 1 , O 2 O 1 , O 2 , R R V ( R , Θ O 1 , O 2 ) , f ( R , W ) , 0 } (4.6) C(Θ,{\rm W})=\sum_{\left \langle O_1O_2\right \rangle,R}{\rm max}\{1-V(R,Θ|\left \langle O_1O_2\right \rangle)f(R,{\rm W})\\ +\mathop{\max}\limits_{\left \langle O_1^{'},O_2^{'}\right \rangle≠\left \langle O_1,O_2\right \rangle,R^{'}≠R}V(R^{'},Θ|{\left \langle O_1^{'},O_2^{'}\right \rangle}),f(R^{'},{\rm W}),0\}\tag{4.6}

最后的目标函数为: max Θ , W { C ( Θ , W ) + λ 1 L ( W ) + λ 2 K ( W ) } (4.7) \mathop{\max}\limits_{Θ,{\rm W}}\{C(Θ,{\rm W})+λ_1L({\rm W})+λ_2K({\rm W})\}\tag{4.7}

其中 λ 1 = 0.05 , λ 2 = 0.002 λ_1=0.05,λ_2=0.002

模型的网络结构如下:在这里插入图片描述

图3:网络结构

首先输入是一幅图像,经过 R C N N {\rm RCNN} 得到图像中目标对;上面分支为视觉外感模型,下面分支为语言模型;最后综合二者结果,得到最终的输出为 o b j e c t 1 p r e d i c a t e o b j e c t 2 {\rm {\left \langle object_1﹣predicate﹣object_2\right \rangle}} 及其置信度。

最后给出训练算法:在这里插入图片描述

图4:训练算法

4.2 Testing

在测试阶段,对于每张测试图片,使用 R C N N {\rm RCNN} 产生一系列候选目标。接着,对于 R C N N {\rm RCNN} 得到目标对 O 1 , O 2 {\left \langle O_1,O_2\right \rangle} ,根据视觉外观模型 Θ {\rm Θ} 和语言模型 W {\rm W} 学习的参数预测视觉关系 ( R i , j , k ) (R^*_{{\left \langle i,j,k\right \rangle}}) R = arg max R V ( R , Θ O 1 , O 2 ) f ( R , W ) (4.8) R^*=\mathop{\arg\max}\limits_{R}V(R,Θ|{\left \langle O_1,O_2\right \rangle})f(R,{\rm W})\tag{4.8}


5. Experiments

首先,实验部分给出了模型不同阶段的结果。如图:在这里插入图片描述

图5:实验结果

如上图左边列是关系检测,输入是图像及其中的目标,输出是对应目标间的关系;中间列是语句检测,输入是图像,输出是 o b j e c t 1 p r e d i c a t e o b j e c t 2 {\rm {\left \langle object_1﹣predicate﹣object_2\right \rangle}} ,及包含两者的一个边界框;右边列是关系检测,输入是图像,输出是 o b j e c t 1 p r e d i c a t e o b j e c t 2 {\rm {\left \langle object_1﹣predicate﹣object_2\right \rangle}} ,及每个目标单独的边界框。

下面是与一些 S O T A {\rm SOTA} 模型的对比:
在这里插入图片描述

图6:实验结果对比

上图中 R @ k {\rm R@k} 表示前 k {\rm k} 个关系检测的召回率;不同列对应于图 4 4 中的实验结果; O u r s V   o n l y {\rm Ours﹣V\ only} 表示仅使用视觉外观模型; O u r s L   o n l y {\rm Ours﹣L\ only} 表示仅使用视觉外观模型表示仅使用语言模型; O u r s V n a i v e   F C {\rm Ours﹣V+naive\ FC} 表示在以上基础使用一个将目标间的关系映射为频率的函数代替 f ( ) f() 函数; O u r s V L   O n l y {\rm Ours﹣V+L\ Only} 表示模型不使用式 ( 4.4 ) (4.4) 中的 K ( ) K() O u r s V L R e g {\rm Ours﹣V+L+Reg} 表示使用视觉外观模型、式 ( 4.4 ) (4.4) 的损失函数和在 W W 上加入 L 2 L_2 回归; O u r s V {\rm Ours﹣V} L K {\rm +L+K} 表示模型整体,见式 ( 4.7 ) (4.7)

下面是关于零次学习 ( Z S L ) ({\rm ZSL}) 的结果,即对数据集中不存在的数据进行预测(相关零次学习的内容可参考这里):在这里插入图片描述

图7:ZSL结果对比

下面部分是针对图像检索 ( I m a g e   R e t r i e v a l ) ({\rm Image\ Retrieval}) 的实验对比:
在这里插入图片描述

图8:IR结果对比


6. Conclusion

论文提出一种视觉关系检测模型,首先使用目标检测网络得到图像中的目标对;然后分别通过视觉外观模型分支和语言模型分支得到目标对和关系的检测;最后综合二者结果得到最后的输出。

由于没有阅读源码,本文只总结了论文的大体结构和信息,详细内容请阅读论文原文


参考

  1. Lu C, Krishna R, Bernstein M, et al. Visual relationship detection with language priors[C]// European conference on computer vision. Springer, Cham, 2016: 852-869.


猜你喜欢

转载自blog.csdn.net/Skies_/article/details/105160357