论文:Context Encoding for Semantic Segmentation

论文:Context Encoding for Semantic Segmentation

488 次阅读

会议:CVPR2018

研究任务:场景语义分割

当前方法:

(1)目前分割任务主要应用的都是pixel-level prediction,考虑类别本身的所属类别,却因此孤立了像素和图片整体性,导致一些目标,类别出现一些预测为别的类别的像素,即出现一些类别噪声。

(2)当前的方法通过扩大感受野和利用多分辨率金字塔来提高分割性能,甚至将获取上下文信息等价为扩大感受野。

这篇文章

(1)利用encode模块,提取图片的全局上下文信息,通过结合上下文信息给channel map加权重,从而利用全局信息进行分割。

(2)分类辅助分割的SE-Loss,依赖于场景于类别之间存在的关系来使分割任务变得简单,基于上下文信息缩减图片中出现的类别噪声,通过训练,学习到类别之间的相互依存关系,辅助判定类别出现的合理性,减小类别噪声,进行分割任务提高分割的准确率。

研究方法:

  1. 使用上下文编码模块(Context Encoding Module)捕获全局上下文信息和突出与场景相关联的类别信息(SE-Loss),这相当于加入场景的先验知识,类似于告诉什么样的场景下出现什么类别比较合理。
  2. 论文提出的SE-Loss,利用分类Loss作为分割任务的辅助Loss,对不同大小尺寸类别具有相同的效果,促进类别均衡,提高网络对小物体分割性能,Loss利用的是物体类别的二值化交叉熵Loss.
  3. Encnet在多个数据集上获得了state-of-the-art结果。

网络架构

  1. 图片通过卷积神经网络提取特征,再送入Encode模块,输出一个向量的特征
  2. 特征通过全连接层输出长度为C的向量,作为特征channels的权重,通过与特征相乘,对channel map进行加权,再通过分割的预测模块,对像素进行预测。
  3. 向量特征通过全连接层,以及图片中存在的类别label,对图片中存在的类别进行多目标预测,利用分类label进行约束,从而利用分类Loss约束分割任务,这就是SE-Loss。

网络细节:

Encode Encodeing Layer:参考论文:Deep ten: Texture encoding network.

EncNet:一个预训练的ResNet网络,在最后一层预测层,之前加入Encode encoding Layer编码全局上下文信息,结合上下文信息再对像素进行预测。

网络中的dilated以及SE-Loss设置:

分割结果:

(1)定性结果:

EncNet相比FCN,对图片类别噪声上处理效果好很多。

(2)定量结果

PASCAL-Context数据集:

PASCAL VOC 2012数据集:

ADE20K 数据集:

Mulanshine