• GINet: Graph Interaction Network for Scene Parsing


    论文:GINet: Graph Interaction Network for Scene Parsing

    介绍

    目前来说,大部分语义分割的方法都是基于输入图像,也就是视觉特征进行分类,但这样就缺少了不同类别间的上下文相关性。 non-local可以通过计算不同像素之间的相关性来建立上下文关系,但计算量较大。于是有人试图将图卷积神经网络(GCN)加入到语义分割中,将特征空间中的一些区域映射到图空间中,每个节点代表不同的区域。对图空间做图卷积的话,就相当于捕捉不同区域之间的关系。之后再将图空间映射回特征空间。过程如下图顶部所示。

    image-20201028190157624

    于是作者猜想,如果只是去捕捉像素点的信息,会不会不太充分。如上图所示,作者试图加入语义概念的信息。将语义信息也投射到图空间中,以此来引导图空间的视觉信息。

    文章主要有以下三个贡献:

    • 提出了一种新的图交互单元GI unit用于上下文建模。
    • 提出了Semantic Context Loss (SC-loss) 用来强调出现在场景中的类别,抑制没有出现的类别。
    • 提出了一种图交互网络GINet。

    方法

    作者首先介绍了图交互网络GINet的框架,之后介绍了图交互单元GI unit,最后对SC-loss做出解释。

    GINet

    GINet模型框架如下:

    image-20201028191713465
    1. 作者使用预训练好的ResNet作为backbone提取视觉特征。随后,作者将图像中的类别以文本的形式提取出来经过word embedding(如GloVe),将单词映射到方便处理的多维向量。

    2. 将视觉特征和文本特征经过graph projection投射到图空间,分别构建两个图VisG和SemG。此时VisG中的节点表示某一区域的视觉特征,边表示不同区域之间的关系。SemG中的节点和边表示经过word embedding后的文本特征和文本间的关系。

    3. 在GI Unit中进行图交互graph interaction,利用文本图的语义信息指导视觉图的形成。

    4. 将经过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),计算如下

    image-20201028201500344

    其中(W)是个可训练参数,将特征维数由(C)转到(D),而(Z)负责将局部特征转化为图中的一个节点。

    经过word embedding语义特征(l_iinmathbb{R}^K),其中(i)表示单词类别数,(K)表示经过word embedding的单词维数。我们的目标是将语义特征(l_i)映射到图空间(Sinmathbb{R}^{M imes D}),其中(M)表示节点数量,等于数据集中类数,(D)是每个节点的维数。利用MLP进行转化。

    image-20201028202809927

    其中(S_i)表示每一类的节点特征。

    Graph Interaction

    将视觉图和语义图分别简称VisG和SemG,两者进行交互。

    首先对VisG进行图卷积以捕获更多的上下文信息,方便之后与SemG进行交互。

    image-20201028204623297

    同理对SemG进行相似的图卷积

    image-20201028214029858

    在S2V中,计算VisG的一个节点(i)和Sem的(j)的相似度

    image-20201028205843998

    其中(W_p)(W_s)是个科学系的矩阵来进一步降低特征维数。

    之后用从SemG中提取出来的相关度信息来增强VisG。

    image-20201028210043388

    其中(W_{s2v})是个可训练的矩阵,(eta_{s2v})是个初始化为零的可学习的向量。

    对于V2S同理得到

    image-20201028211108960

    对于GI Unit有两个输出,一个是VisG,一个是SemG。对于VisG,通过重新投影映射到特征空间中,可表示为

    image-20201028214148575

    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可表示为:

    image-20201028212819334

    实验

    image-20201028213400252 image-20201028213407106 image-20201028213420507
  • 相关阅读:
    APP上线审核注意事项
    xcode环境变量设置(转载)
    iOS 工程中 Other Linker Flags
    iOS 打开应用与系统功能的调用
    在oc中一些常用的宏定义总结
    WebViewJavascriptBridge的简单应用
    UITextField 对键盘一些常用属性 记录一下
    UITextInputMode类的使用
    数组和指针
    自定义ViewGroup实现瀑布流效果
  • 原文地址:https://www.cnblogs.com/Arsene-W/p/13893676.html
Copyright © 2020-2023  润新知