Advertisement

论文阅读:Graph R-CNN for Scene Graph Generation

阅读量:

Graph R-CNN(ECCV2018)

文章链接
如果遍历所有可能的关系对进行计算的话,计算量比较大,因此paper从faster R-CNN的RPN得到灵感,提出RePN,虽然之前就有一个叫RelPN的东西。实际上就是输入所有proposal的特征组成的矩阵,输出一个邻接矩阵,行列数为proposal的个数,矩阵的每个元素位于[0,1]之间,表示对应的两个proposal有关系的confidence。
paper提出的方法一共3步:object node extraction;relationship edge pruning;graph context integration:
这里写图片描述
这里写图片描述
paper采用了类似kernel的技巧来实现RePN:
kernel

原本,需要构造一个relativeness函数f,每次输入一对proposal的特征,然后得到两者的relativeness,但是这样的时间复杂度是O(n^2),因此paper用上面的式子进行代替,即先用两个函数分别将所有proposal映射为subject空间和object(宾语)空间中的vector,然后直接进行矩阵的乘法就得到邻接矩阵了。
相应地,paper还提出了对relation的NMS,score就是前面的邻接矩阵,然后overlap就选两个关系各自的union box的IoU。
根据上面的邻接矩阵得到了初步的graph之后,注意这个graph的node包括object(物体)和relation,然后object node之间的link就是由RePN得到的关系,而然后对每个relation node都将其与两个参与的object node相连,paper用提出的带attention的GCN(graph convolution network)更新object和relationship的特征。该graph有如下的三种连接:
连接
很自然地,更新object和更新relation的方式是不一样的,论文中是这样的:
这里写图片描述
这里写图片描述

如果两个object相邻则αskip=1,其余的α按照下面的式子计算:
这里写图片描述

注意如果i,j不是neighbor,那u就为0。此外在进行message passing时,特征都先要进行线性变换W,根据passing的source和target,W一共有5个:

W skip,W sr,W or,W rs,W ro

其中,s代表subject,o代表object(宾语),r代表relation,skip代表object(物体)间的连接。
在这一部分,paper还挖了一个坑:
这里写图片描述
就是说我们可以改变这些object和relation特征表示,甚至对object直接用分类未进行softmax的向量来作为特征。这也是暗示object class对relation影响很大吧。
最后paper还提出了一个新的评价scene graph generate算法性能的新指标SGGen+,之前都是用SGGen,R@k,就是说top k的triplet中,ground truth的recall。SGGen+计算如下:
这里写图片描述

C(.)是count操作,C(O)就是count正确的object的个数,C(P)就是count正确的predicate的个数,因为有时object定位正确,但没有分类正确,不过由于定位正确,导致特征正确,使得predicate的分类正确了,C(T)就是整个triplet都正确。N就是object,predicate和triplet的ground truth数之和。

全部评论 (0)

还没有任何评论哟~