CPNet:Context Prior for Scene Segmentation

不像传统的上下文感知模型一样,CPNet对类内上下文、类间上下文加以区分,学习到更加鲁棒的特征

什么是 CPNet ?

  • CPNet-20230408142331
  • CPNet 认为目前语义分割聚合上下文有 2 种方式:(1)抓取同质的上下文关系,忽略了不同种类的上下文关系,如 PSPNet, [[DeepLabv1]]/v3/v3+;(2)缺少正则化,注意力机制的关系描述不清晰,选取错误的上下文关系,如 EncNet、DFN、PAN、DANet、OCNet、PSANet
  • CPNet 基于此提出区分类内、类间上下文依赖,提出带有亲和损失(Affinity loss)的上下文先验层,选择性地捕获类内和类间的上下文依赖关系,从而实现鲁棒的特征表示

CPNet 的网络结构?

  • CPNet-20230408142331-1
  • XX:DCNN 提取的 featrue map
  • X^\hat X:经过聚合层 Aggregation 得到的featrue map
  • PP:首先 X^\hat X 经过卷积得到 HW×H×WH*W\times H \times W 的矩阵,这个矩阵表示 X^\hat X 任意两个元素之间的关系,reshape 得到矩阵 P (HW×HWH*W\times H*W)
  • AA:gt mask 经过下采样及重构得到的类内监督信息,用该信息监督 P,则矩阵 P (HW×HWH*W\times H*W)表示的是类内关系,1-P 则是类间关系
  • Concat:原始特征+原始特征与类内关系相乘+原始特征与类间相乘,三部分特征融合后用于后续的像素级分类

CPNet 的 Affinity Loss?

  • CPNet-20230408142332
  • Affinity Loss 用于监督类内关系,上图是基于 gt mask 构建类内关系矩阵的过程,原始 gt mask 是 3x 3 矩阵,则任意两个元素关系表示为 9x 9 的矩阵,9x 9 矩阵的第一个元素是 gt mask x0,0x_{0,0} 的关系,肯定是同类,填 1;第二位置是 x0,1x_{0,1},属于不同类,所以填 0,后续依次类推

CPNet 的聚合模块 Aggregation Module?

  • CPNet-20230408142333
  • 利用两个分支的 空间可分离卷积(Spatial Separable Convolutions)的特征聚合层,既降低计算量,又保持感受野