ExFuse: Enhancing Feature Fusion for Semantic Segmentation
https://arxiv.org/pdf/1804.03821.pdf
Face++ 出品
Q note 2018.4.19
摘要
- 简单地融合高低层次特征并不是很有效率,这里提出将分割信息加入低层次特征,将空间信息引入高层次特征,能把分割质量提高4.0%.
Introduction
- 现有的分割网络大都遵循FCN的想法,通过类编码器的思想,使用预训练模型提取特征,再解码器还原,Unet就将高低特征进行一定连接,达到不错的效果.
- 低层特征包含很多点线等,往往过于嘈杂,与高层特征结合并不一定起作用,相反,如果低级特征包括更多的语义信息,例如,编码得到相对更清晰的语义边界,则融合变得容易,通过将高级特征映射到与边界对齐可以获得良好的分割结果.
- 基于上面的思想,作者提出了ExFuse框架,主要是以下两个方面:
- 为了将更多的语义信息引入低级特征,作者提出了三种解决方案:层重排,语义监督和语义嵌入分支(layer rearrangement, semantic supervision and semantic embedding branch)
- 将更多的空间信息嵌入到高层特征中,作者提出了两种新方法:显式信道分辨率嵌入和密集相邻预测(explicit channel resolution embedding and densely adjacent prediction)。
Related Work
- Deeply supervised learning
-
Upsampling.
上采样的方法主要有三种:- 线性插值
- 转置卷积: 最早在FCN中提出
- 子像素卷积(sub-pixel conv),最早源自实时高清视频和图像任务
Approach
- 这里的baseline采用的是Global Convolutional Network(GCN), 采用ResNet50和ResNeXt101作为backbone,分别在{128,64,32,16} {64,32,16} {32,16} {16}做特征融合,输入为512*512.
- 下面的讨论基于以下共识,文中叫fact:更接近loss的层能提取更多的分割信息.
- 在低层里加入语义信息
- layer rearrangement :在网络前期放更多的layers
- Semantic Supervision: 在低层就加入辅助监督,使低层也具备一定的语义信息,总训练loss就是每个分支的加权总和
-
Semantic Embedding Branch (SEB): 先给公式:
这里的意思类似于DenseNet的感觉,就是单一浅层可能含语义特征少,因此加上好几个卷积层特征图
- 在高层里加入空间信息
- Explicit Channel Resolution Embedding :作者先试验了转置卷积,没取得提升,归结原因是转置卷积层的参数会使嵌入失效,所以采用Sub-pixel的无参数方法,获得了0.5%的提升
- Densely Adjacent Prediction: 原来的模型得到的输出对应与原图,现在每个输出图的像素点可以预测周边几个点的结果,通过平均得到每个点的预测
Discussion
全文提出很多tricks,并每一步都用实验证明了trick的有效性,作者最后也在通用Unet结构上进行了验证,当然类Unet模型在检测等其他领域也有广泛应用,比如FPN,因此可以参照本文思想在其他领域做些工作.