[深度学习从入门到女装]ExFuse: Enhancing Feature Fusion for Semantic Segmentation

论文地址:ExFuse: Enhancing Feature Fusion for Semantic Segmentation

 

这是复旦大学在ECCV2018上发表的一篇语义分割的论文

 

文中提到说目前语义分割的框架,大多是FCN的框架,使用encode得到将语义信息融合到feature map中,然后再使用decode通过feature map得到分割结果,一般来说encoder都是使用pre-trained的分割网络进行transfer过来的,但是呢,虽然这样encoder可以得到更丰富的语义信息,但是损失了分辨率,对于恢复到原本分辨率分割图来说带来了困难,因此U-net被提出来解决这个问题,使用skip connection将hight-level low-resolution from top layers和low-level high-resolution from bottom layers的特征融合起来

极端来看,如果low-level feature只encode了low-level concepts比如点,线,边等,这样使用high-level和low-level进行融合并不会有什么提升,因为low-level feature含有太多的噪声。相反,如果low-level feature包含了更多的语义信息,比如一些语义轮廓,那些融合就会很简单,能够很好的提高分割效果。相同的,如果high-level feature有一点空间信息,不能很好的利用low-level features,然而,如果有high-resolution feature附加上来,high-level features很可能可以根据相近的low-level边界进行自我refine

ExFuse

 

使用基于U-Net的变形Global Convolutional Network (GCN)作为backbone,GCN的encoder含有不同的4层,输入为512*512,每层的输出为128,64,32,16,本文使用不同GCN层的feature map进行融合实验,结果如下

可以看到,融合更多层的feature map,分割结果就更好,但是可以看到,增加1、2两层的feature map对于分割的准确率提升很小,只有0.24%(0.05%),这说明low-level and high-level features融合并不有效

Introducing More Semantic Information into Low-level Features

Layer Rearrangement

为了让low-level features更加closer to the supervisions,一个最直接的方法就是将更多层放到较靠前的阶段而不是后边阶段,本文做的实验,resNeXt 101 model本来在stage2-5阶段有{3,4,23,3}个blocks,本文重新安排各个阶段的block数量到{8,8,9,8},并且调整channel数以保证有相同的计算量,实验表明提高了大概0.8%,这说明low-level feature可能提高了

Semantic Supervision

就是每个stage都加入一个auxiliary losses,以便low-level能学到更多的semantic information,Semantic supervision block如下图

Semantic Embedding Branch

U-Net的high-level和low-level之间的融合可以用下式表达:

x为encoder层的feature map,y为decoder层的feature map,角标为层数

本文为了更好的恢复语义信息,融合用下式表达:

也就是对于l层的融合,使用所有高于l层的encoder的feature map

F操作如下图所示:

X为element-wise multiplication

文中使用表明,使用这种方法提升大概0.7%

 

Embedding More Spatial Resolution into High-level Features

对于high-level features来说,有了更多的语义信息,但是因为下采样,缺了更多的空间信息,之前都是使用空洞卷积来扩大感受野减少空间信息的损失,但是大的空间size会导致大的计算量。因此本文选择不尝试增加feature map的“物理”分辨率,而尝试将更多的分辨率信息encode到channel中

 

Explicit Channel Resolution Embedding

在本文的结构中,分割loss只在最后decoder的输出中,因此对于high-level feature的空间信息影响能力较小,一个最直接的方法就是在增加一些auxiliary supervision branch to the high-level feature mapupsample and force it to learn fine segmentation map.本文在第一个deconv层加入了辅助loss进行试验,发现并没有效果,本文指出这是因为

为了解决这个问题,本文使用了sub-pixel upsample【Checkerboard artifact free sub-pixel convolution: A note on sub-pixel convolution, resize convolution and convolution resize (2017)】【Real-time single image and video super-resolution using an efficient sub-pixel convolutional neural network】来代替deconv,在使用辅助loss,效果提高了0.5%

sub-pixel upsample通过重排空间和channel维度来扩大feature map,auxiliary supervision因此能够精准的影响到feature

Densely Adjacent Prediction

在本文中k=3,提升0.6%

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值