Iterative Message Passing(CVPR2017)
文章
问题是最开始的graph怎么得到?代码里还是用的full-connected graph作为初始化。
本方法中,如果有C种关系,那么网络中是C+1个关系的概率,多的一个代表none-relation,物体类别也一样,多出来一类代表background。
代码里,先将所有可能的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数据集测试结果中的R@k,k一般取50和100,代表检测器给出的top k

这篇博客详细介绍了CVPR2017论文中提出的Iterative Message Passing方法在场景图生成中的应用。初始图使用全连接图进行初始化,网络考虑了C+1种关系概率,包括none-relation。文章阐述了如何通过GRU迭代更新,以及如何计算节点和边的兼容性得分来构建和更新context。在VG数据集的测试结果中,分析了R@k指标以及with和without graph constraint两种情况下的性能差异。
最低0.47元/天 解锁文章
833

被折叠的 条评论
为什么被折叠?



