CPNet:Context Prior for Scene Segmentation
不像传统的上下文感知模型一样,CPNet对类内上下文、类间上下文加以区分,学习到更加鲁棒的特征
什么是 CPNet ?
- CPNet 认为目前语义分割聚合上下文有 2 种方式:(1)抓取同质的上下文关系,忽略了不同种类的上下文关系,如 PSPNet, [[DeepLabv1]]/v3/v3+;(2)缺少正则化,注意力机制的关系描述不清晰,选取错误的上下文关系,如 EncNet、DFN、PAN、DANet、OCNet、PSANet
- CPNet 基于此提出区分类内、类间上下文依赖,提出带有亲和损失(Affinity loss)的上下文先验层,选择性地捕获类内和类间的上下文依赖关系,从而实现鲁棒的特征表示
CPNet 的网络结构?
- :DCNN 提取的 featrue map
- :经过聚合层 Aggregation 得到的featrue map
- :首先 经过卷积得到 的矩阵,这个矩阵表示 任意两个元素之间的关系,reshape 得到矩阵 P ()
- :gt mask 经过下采样及重构得到的类内监督信息,用该信息监督 P,则矩阵 P ()表示的是类内关系,1-P 则是类间关系
- Concat:原始特征+原始特征与类内关系相乘+原始特征与类间相乘,三部分特征融合后用于后续的像素级分类
CPNet 的 Affinity Loss?
- Affinity Loss 用于监督类内关系,上图是基于 gt mask 构建类内关系矩阵的过程,原始 gt mask 是 3x 3 矩阵,则任意两个元素关系表示为 9x 9 的矩阵,9x 9 矩阵的第一个元素是 gt mask 的关系,肯定是同类,填 1;第二位置是 ,属于不同类,所以填 0,后续依次类推
CPNet 的聚合模块 Aggregation Module?
- 利用两个分支的 空间可分离卷积(Spatial Separable Convolutions)的特征聚合层,既降低计算量,又保持感受野