论文:GINet: Graph Interaction Network for Scene Parsing
介绍
目前来说,大部分语义分割的方法都是基于输入图像,也就是视觉特征进行分类,但这样就缺少了不同类别间的上下文相关性。 non-local可以通过计算不同像素之间的相关性来建立上下文关系,但计算量较大。于是有人试图将图卷积神经网络(GCN)加入到语义分割中,将特征空间中的一些区域映射到图空间中,每个节点代表不同的区域。对图空间做图卷积的话,就相当于捕捉不同区域之间的关系。之后再将图空间映射回特征空间。过程如下图顶部所示。
于是作者猜想,如果只是去捕捉像素点的信息,会不会不太充分。如上图所示,作者试图加入语义概念的信息。将语义信息也投射到图空间中,以此来引导图空间的视觉信息。
文章主要有以下三个贡献:
- 提出了一种新的图交互单元GI unit用于上下文建模。
- 提出了Semantic Context Loss (SC-loss) 用来强调出现在场景中的类别,抑制没有出现的类别。
- 提出了一种图交互网络GINet。
方法
作者首先介绍了图交互网络GINet的框架,之后介绍了图交互单元GI unit,最后对SC-loss做出解释。
GINet
GINet模型框架如下:
-
作者使用预训练好的ResNet作为backbone提取视觉特征。随后,作者将图像中的类别以文本的形式提取出来经过word embedding(如GloVe),将单词映射到方便处理的多维向量。
-
将视觉特征和文本特征经过graph projection投射到图空间,分别构建两个图VisG和SemG。此时VisG中的节点表示某一区域的视觉特征,边表示不同区域之间的关系。SemG中的节点和边表示经过word embedding后的文本特征和文本间的关系。
-
在GI Unit中进行图交互graph interaction,利用文本图的语义信息指导视觉图的形成。
-
将经过GI Unit处理后的图重新投影到特征空间,并通过1*1的卷积和上采样的到最终结果。
Graph Interaction Unit
GI Unit的目的是将视觉特征和语义特征映射到视觉图和语义图上(Graph Construction),并对其进行上下文推理(Graph Interaction)。以视觉节点和语义节点的相似性为指导改进节点。
Graph Construction
给定一个视觉特征(Xinmathbb{R}^{L imes C}),其中(L=H imes W)。我们目标是构建一个视觉图(Pinmathbb{R}^{N imes D}),其中N是图的节点数,D是每个节点的特征数。因此,作者引入了一个变换矩阵(Zinmathbb{R}^{N imes L}),它将特征(X)投射到图空间(P),计算如下
其中(W)是个可训练参数,将特征维数由(C)转到(D),而(Z)负责将局部特征转化为图中的一个节点。
经过word embedding语义特征(l_iinmathbb{R}^K),其中(i)表示单词类别数,(K)表示经过word embedding的单词维数。我们的目标是将语义特征(l_i)映射到图空间(Sinmathbb{R}^{M imes D}),其中(M)表示节点数量,等于数据集中类数,(D)是每个节点的维数。利用MLP进行转化。
其中(S_i)表示每一类的节点特征。
Graph Interaction
将视觉图和语义图分别简称VisG和SemG,两者进行交互。
首先对VisG进行图卷积以捕获更多的上下文信息,方便之后与SemG进行交互。
同理对SemG进行相似的图卷积
在S2V中,计算VisG的一个节点(i)和Sem的(j)的相似度
其中(W_p),(W_s)是个科学系的矩阵来进一步降低特征维数。
之后用从SemG中提取出来的相关度信息来增强VisG。
其中(W_{s2v})是个可训练的矩阵,(eta_{s2v})是个初始化为零的可学习的向量。
对于V2S同理得到
对于GI Unit有两个输出,一个是VisG,一个是SemG。对于VisG,通过重新投影映射到特征空间中,可表示为
Semantic Context Loss
作者提出SC-loss,用来强调场景中出现的类别,抑制没有出现的类别。
作者对每个类别定义了一个科学系的语义中心(c_i)。 对于SemG (S_o)中的每一个节点(s_i),计算(s_i)与(c_i)的点乘并通过sigmoid激活得到(v_i),由BCE loss进行训练。如果(v_i)更接近1,则表示该样本中存在相应的类别。SC-loss可表示为: