论文阅读-(CCNet)Criss-Cross Attention for Semantic Segmentation

相关论文 non local 操作

  1. 要点:
    criss-cross attention module 获得上下文信息
    循环操作, 每一个像素可以获得全图信息

  2. 优势:
    与non-local 操作相比,少了85%的浮点运算,
    与non-local 操作相比,GPU占用率时1/11
    state of the art

  3. 现存问题
    Due to the fixed geometric structures, they are inherently limited to local receptive fields and short-range contextual information.导致全卷积神经网络没有足够的上下文信息

  4. 现存解决方案:

    • ASPP
      不足:从周围像素获取信息,不能获得dense contextual information
    • 金字塔池化
      均等的上下文信息被所有像素所采纳,不符合不同的像素有不同的依赖
    • non local 操作
      O((H × W ) × (H × W )) in time and space
      论文阅读-(CCNet)Criss-Cross Attention for Semantic Segmentation_第1张图片
  5. 网络结构
    (1)基本结构
    论文阅读-(CCNet)Criss-Cross Attention for Semantic Segmentation_第2张图片
    特征提取网络,去除最后两个下采样层以后获得原图1/8大小的特征图 X
    X 降维 获得特征图 H
    将特征图 H 输入 第一个 criss-cross attention (CCA) module 得到 H’, H’ 将水平,竖直方向的远距离上下文信息进行聚合.
    特征图 H’ 输入到第二个CCA,得到H’’,这一步操作将收集到每一个像素的信息
    连接 X H’’ 送入多个带bn和激活函数的卷积层以及分割层
    (2)Criss-Cross Attention
    论文阅读-(CCNet)Criss-Cross Attention for Semantic Segmentation_第3张图片
    首先对输入的特征图H进行两个1x1卷积,得到两个特征图Q,K. Q,K的通道数小于H
    得到Q,K之后,通过Affinity operation 得到attention map:
    H 通道数为C Q,K通道数为C’
    Affinity operation
    对于特征图Q的每一个位置u,我们可以得到一个向量 Qu(维度等于Q的通道数)
    在这里插入图片描述
    对于位置u,我们可以在特征图K上得到一个集合 Ωu, 对应的是和K中和u在同一行或者同一列上的向量的集合,i指的是 Ωu中的第i个元素
    在这里插入图片描述
    在这里插入图片描述
    Affinity 操作
    在这里插入图片描述
    d i,u 衡量了 Ωui 和 Qu的相似度
    最后 对于每个位置u,我们可以得到其与同行/列的 H+W −1 个位置的相关性
    针对整个特征图(H+W ) 我们可以得到 (H+W −1)×W ×H 维的相关性矩阵,对于这个矩阵进行softmax操作得到attention map A
    Aggregation operation
    以上得到的是每个位置 与 其同行同列的相关性 接下来就是针对原输入特征图, 特征图上的每一个位置=十字区域的加权(权重来源于attention map)
    在这里插入图片描述
    先对H进行1*1 卷积,保留通道数C 得到特征图V
    Hu’ 是输出特征图在u位置的输出, Aiu表示的是对于位置u,第i个通道的值(也就是十字中i对应的位置的权重), Φi u指的是V的十字通道中对应的第i个vector

循环再来一次 得到全局的attention
论文阅读-(CCNet)Criss-Cross Attention for Semantic Segmentation_第4张图片

你可能感兴趣的:(deeplearning,cv,deep,neural,network,语义分割)