基于语义特征的图推理方法 GINet(Graph Interaction Network for Scene Parsing)
研究动机
Beyond Grids以及GloRe都是基于视觉图表征来推理上下文
GINet考虑用语义知识来增强视觉推理
具体方法
图构建
- 视觉图的构建:Z为投影矩阵(1×1卷积生成),W为维度变换矩阵(把维度变成D维),N就是node的数量,D就是每个node的维度。
- 语义图的构建:通过group得到类别的embedding,通过MLP做一个维度变换(主要是考虑和视觉图做交互,需要维度一致)
推理
-
语义到视觉推理
给每个视觉图的节点表征从语义Graph上提取相应的语义表示,利用语义表示来增强视觉Graph- P:视觉表征矩阵
- S:语义表征矩阵
- W s 2 v W_{s2v} Ws2v:语义到视觉图推理过程可学习的参数
- G s 2 v G^{s2v} Gs2v:视觉到语义图上的交互矩阵,实际上为attention矩阵,语义图上的每个节点与视觉图上的每个节点算一个相似度(本质上是交互作用强度)
- β s 2 v β_{s2v} βs2v:可学习的向量
-
视觉到语义推理
为每个输入样本(或者每张输入图像)去学习生成该样本的语义图,用
样本的视觉Graph来引导基于样本的Graph的生成。
将视觉图的node feature和语义图的node feature去做一个相似度,按不同维度做归一化就可以得到
G
s
2
v
G^{s2v}
Gs2v、
G
v
2
s
G^{v2s}
Gv2s
视觉Graph反投影
框架
- VisG(视觉Graph):resnet101提取特征,得到Visual Representation视觉表征,通过Graph Project(图投影)构造一个VisG。即在视觉特征上建立一个编码视觉区域之间依赖关系的图,节点为视觉区域,边为各区域之间的相似性或关系。
- SenG(语义Graph):首先数据集存在类别数,把类别的语义embedding通过Graph Project,得到语义Graph(SenG)。即语义Graph建立在与数据集相关的类别(word embedding)上,该类别对语义相关性和标签相关性进行编码。( 对于生成的语义Graph,语义Graph是代表输入样本的,不同样本输入会有不同的语义Graph)
- VisG和SenG做一个图交互,VisG的每个节点得到了需要的语义上下文信息,SemG的每个节点从Embedding抽取出来时一个General的表征,经过图交互之后,SemG的每个节点为当前图片的每一个语义类别的表征。
- VisG反投影,得到feature map,再接一个FCNN头(3×3卷积+1×1卷积),得到分割结果。
- 对于SenG,在训练时,通过语义上下文损失函数(SC-loss),做一个更新和约束,约束语义图是否有每一个类别。