Context Encoding for Semantic Segmentation
论文发表于2018年的 CVPR。
原文链接:https://arxiv.org/abs/1803.08904
源码链接:https://github.com/zhanghang1989/PyTorch-Encoding
导读与概述
在这篇文章中研究了CNN特征图的全局上下文信息对于分割的影响,文章提出一个问题,此前的工作中通过增加 CNN 网络层数和感受野或使用膨胀卷积,是否就能更好的提取全局的上下文信息?
对此文章借鉴了channel-wise attention的思路对特征图进行优化,而对于目标分割任务(或者分类任务)提出了基于attention机制的Enc模块,使用attention的方式(编码器不同)增强特征的表达(Context Encoding Module)。
此外对于传统上分割损失存在的偏心眼儿情况(对小目标不是很友好),在Enc模块基础上增加了基于GT像素类别先验监督的SE损失(与分类区域大小无关只与类别相关),进而引导更具表达能力特征的生成。
总的来说,文章的工作如下:
-
文章提出一种与类别预测相关的网络结构,使得在一定程度上降低了分割任务的难度,同时提高了小物体的分割精度。
-
文章提出上下文语义编码模块与类别预测模块,在某种程度上解决或减轻了分割问题中类间样本不均衡的问题。
Introduction
论文的两个主要贡献:
-
提出了Context Encoding Module。在Context Encoding Module中还包含Semantic Encoding Loss(SE-Loss),一个利用全局场景上下文信息的单元。Context Encoding Module可以捕获场景的语义上下文并选择性地强调与类别相关的特征图。常规的训练过程中只用了逐像素的分割loss,没有充分利用场景的上下文。引入Semantic Encoding Loss(SE-Loss)来正则化训练,让网络预测在某场景中某物体种类出现的概率来加强网络学习语义上下文。而且SE-Loss同等对待大物体和小物体,在实践中发现小物体的实际分割效果有提升。Context Encoding Module方法与现有的FCN方法兼容。
-
设计了一个语义分割网络Context Encoding Network (EncNet)。EncNet在预训练的ResNet中通过引入了Context Encoding Module强化网络。使用了dilation convolution。
Context Encoding Module


浙公网安备 33010602011771号