论文地址:https://arxiv.org/abs/1703.02719
论文代码:https://github.com/ZijunDeng/pytorch-semantic-segmentation [PyTorch]
1. Introduction
本文的架构是:使用 ResNet 作为编译器,而 GCN 和反卷积作为译码器。还使用了名为 Boundary Refinement 的残余模块。
语义分割可以被认为是一个像素级的分类问题。在这个任务中有两个挑战:
- 分类:一个与特定语义概念相关的对象应该被正确标记
- 定位:像素的分类标签必须与输出分值图中的适当坐标对齐。
一个设计良好的分割模型应该同时处理这两个问题。
然而,这两个任务自然是矛盾的。对于分类任务,模型被要求对各种转换如平移和旋转保持不变。但是对于本地化任务,模型应该是转换敏感的,即,精确定位每个语义类别的每个像素。
A:分类网络; B:传统的分割网络,主要为定位设计; C:我们的全局卷积网络。
2 overall Framework
在Large Kernel matters 提出了一种改进的网络结构,称为全局卷积网络(GCN),同时处理上述两个挑战。我们遵循两个设计原则:
- 从局部的角度来看,模型结构应该是完全卷积的,以保留局部的性能,并且不应该使用完全连接的或全局的池层,因为这些层将丢弃局部信息;
- 从分类的角度来看,在网络架构中应该采用大的内核大小,以便在feature map和每个像素级的分类器之间建立紧密的连接,从而提高处理不同转换的能力。
这两个原则成就了GCN,如图A所示。使用FCN[25]样结构作为基本框架,使用GCN生成语义得分图。为了使全局卷积实用,我们采用对称、可分离的大滤波器来降低模型参数和计算成本。为了进一步提高目标边界附近的定位能力,我们引入了边界细化块,将边界对齐作为一个残余结构模型,如图 C所示。与CRF-like后处理[6]不同,我们的边界细化块集成到网络中,并进行了端到端的训练。
主要贡献:
- 我们提出了语义细分的全球卷积网络,它同时明确地解决了“分类”和“局部”
- 引入边界细化块,进一步提高目标边界附近的定位性能;
- 我们在两个标准基准上取得了先进的成果,在2012年的PASCAL VOC含量为82.2%,Cityscapes为76.9%
3 Experiment
上表中的k即为上图A中的k,可以较明显的可以看出随着k增加 效果越好
接下是来排除另外两种增大kernelsize的形式:
上表中的k为上图C中的k,作者认为参数太多不好优化造成了效果下降 。
上表中的k为上图D中的k,同样通过下面的试验试图说明 随着参数的减少,stack的效果越来越差,所以认为kx1这种效果好
文中的另外一个试验,说明GCN主要对提高分类能力有帮助,BR主要对边缘有帮助