OCNet:Object Context Network for Scene Parsing

OCNet设计OCP模块,通过分块设计稀疏的空间注意力,减少构建注意力的性能损耗

什么是 OCNet?

  • OCNet-20230408143327
  • OCNet 提出了一个构建稀疏空间注意力的机制 (OCP),基本原理是对特征采样分组后,构建组内的空间注意力,然后再次分组构建空间注意力,通过两次有重叠分组构建的注意力代表整体空间注意力
  • 其次,将 OCP 构建注意力的过程加入到 PSPNet 或者 空洞卷积金字塔池化(ASPP),实现了更高的精度

OCNet 的网络结构?

  • OCNet-20230408143328
  • 给定一幅输入图像,采用完全卷积网络 ([[FCN]])提取特征映射,然后在特征映射上使用目标语义池化机制(OCP) 输出更新后的特征映射
  • 在更新后的特征映射图的基础上,采用分类器预测像素级标签映射,并采用双线性插值方法对 label 图进行8倍上采样,最终得到预测结果

OCNet 的 OCP 中实现稀疏的"空间注意力"?

  • 分为两个步骤,一个步骤是构建全局的空间注意力 (Global),一个是构建局部的空间注意力 (Local)
  • Global 注意力:首先对输入 X 进行分组采样,每组之内构建空间注意力,然后合并所有组的结果,得到全局注意力矩阵 ZgZ^g
  • Local 注意力:对全局注意力矩阵 ZgZ^g 进行分组采样,每组之内构建空间注意力,然后合并所有组的结果,得到全局+局部注意力矩阵 ZlZ^l
  • 对于 N×CN\times C 大小的特征,不是直接计算 N×NN\times N 大小的注意力矩阵,而是通过 2 次采样构建稀疏的注意力矩阵

OCNet 的目标语义池化机制?

  • OCNet-20230408143331
  • 本文共设计了三种形式的 object context 模块,第一种是原始 OCP,第二种借鉴了金字塔池化模块 (PSP),第 3 种借鉴了空洞卷积金字塔模块 (ASPP)。原始 OCP 模块来源于自注意力机制,包括两个主要步骤:目标语义估计和目标语义聚合
  • 目标语义估计:首先对 featrue map 进行采样分组,对每组特征构建其注意力矩阵,然后合并分组结果,然后再对结果进行分组,再次构建注意力矩阵,即对于 N×CN\times C 大小的特征,不是直接计算 N×NN\times N 大小的注意力矩阵,而是通过 2 次采样构建稀疏的注意力矩阵
  • 目标语义聚合:计算过程可以表示为由第一步得到的目标语义图 N×N 和特征图 N×C 矩阵相乘,再 reshape 成 H×W×C