NIPS 2018
《LinkNet: Relational Embedding for Scene Graph》
文章目录
-
-
- 《LinkNet: Relational Embedding for Scene Graph》
-
- 文章贡献:
- 本文创新:
- 网络结构:
-
- 1、 Global Context Encoding Module 全局上下文信息编码模块
- 2、 Relational Embedding Module 关系嵌入模块 (重点)
- 3、 Geometric Layout Encoding Module 空间位置编码模块
- 4、 关系推断
- 实验结果
-
文章贡献:
提出了基于CNN的LinkNet结构,在结构中引入了卷积自注意力机制,最终结果超越MotifsNet达到了当时的SOTA
本文创新:
① 引入了自注意力机制
② 目标在作为主语和宾语时的特征是不同的(即提取目标特征过程中是受其它目标影响的)
③ 和Motifs Net相似,分为多阶段进行,并利用了目标的类别标签信息
④ 结合了目标的空间位置信息
注:后两点严格来说不算是本文的创新点,是参考了其它论文的方法
网络结构:
整体网络主要可以划分为三个模块:
① Global Context Encoding Module 全局上下文信息编码模块
② Relational Embedding Module 关系嵌入模块 (重点)
③ Geometric Layout Encoding Module 空间位置编码模块
1、 Global Context Encoding Module 全局上下文信息编码模块
这一部分与其他论文里的做法是相似的,甚至更简单一些。对RPN过后的全局特征图进行AvgPool(全局平均池化)得到context Feature向量c,然后将c拼到每个RoI特征向量的后面即可。
不过这一模块还存在另一分支:将c通过全连接层得到一个作者称为multi-label distribution的向量M’,其元素都是0或1,(表示整张图里的所有类别?)然后可以使用M’与真实标签计算multi-label object classification (gce loss) 损失,可以优化c
2、 Relational Embedding Module 关系嵌入模块 (重点)
关系嵌入模块主要是由relational Embedding子模块+全连接层堆叠起来的,而relational Embedding子模块本质就是一个卷积自注意力模块,文中给出的计算公式如下:
与卷积自注意力的操作可以说是完全一样。
在经过两个 relational Embedding+FC的处理后得到了向量O4,然后将O4每行通过argmax操作得到了编码矩阵O4’ (N×类别数,每一行是独热编码的形式), 这就是目标的类别信息
然后再与O3拼接得到矩阵E0,然后输入到下面的模块中。
再来一遍相似的过程,最终得到了N×8192的矩阵E1,每行对应一个目标的作为主语、宾语的特征向量。
3、 Geometric Layout Encoding Module 空间位置编码模块
每一个目标对都计算一个位置编码,计算公式如下:
o指object,s指subject
总共由N(N-1)个组成一个矩阵,这个矩阵最后会用于推断relational中。
4、 关系推断
有了上面的各部分的输出,关系推断部分操作就相对简单了,这里直接贴原文:
实验结果
超越了MotifNet达到了当时的SOTA