Iterative Message Passing(CVPR2017)

文章
  问题是最开始的graph怎么得到?代码里还是用的full-connected graph作为初始化。
  本方法中,如果有C种关系,那么网络中是C+1个关系的概率,多的一个代表none-relation,物体类别也一样,多出来一类代表background。
论文阅读:Scene Graph Generation by Iterative Message Passing
  代码里,先将所有可能的relation都列出来了(任意两个不相同的box都认为可能有关系),因此还是有n*(n-1)对关系。GRU每次的输入为context,隐藏状态每次迭代都被更新。代码中的context是一种soft的:

  (1)对于edge,将其subject和object的特征(从GRU的隐藏状态得到),分别与该edge的GRU当前迭代的输出concat,分别经过不同的fc和relu得到一个0到1的compatibility score,对于每个edge,它的context就由他的s和o分别乘以它们对应的score的和。
  (2)对于vertex,一个vertex可能会在多个rel中充当sub或者obj,充当sub则称该rel为outbounds,反之为inbounds。同样地,先将每个与某vertex相关的rel都concat上vertex的特征,in和out分别过不同的fc和relu得到compatibility score,然后把某个vertex的相关的rel(in和out)特征全部按score加权求和,得到vertex的context。

  解释一下VG数据集测试结果中的[email protected],k一般取50和100,代表检测器给出的top k个结果中ground truth的占总的ground truth比例,也就是recall吧。同时又分为with graph constraint和without graph constraint两种结果,with是指对每对subject-object预测了多个predicate,显然这种的[email protected]会更大,without指每对s-o 只有一个预测

相关文章:

  • 2022-12-23
  • 2021-09-27
  • 2022-12-23
  • 2021-06-05
  • 2021-10-17
  • 2021-07-11
  • 2022-01-17
  • 2021-10-07
猜你喜欢
  • 2021-10-04
  • 2021-09-25
  • 2022-12-23
  • 2021-10-28
  • 2021-08-05
  • 2021-04-09
  • 2021-05-26
相关资源
相似解决方案