Fully Convolutional Networks for Semantic Segmentation

UC伯克利的一篇文章

介绍:

1.Semantic Segmentation有两个固有性质:

1)semantic: global information解决目标是什么的问题
2)location:local information解决目标在哪的问题

2.关于本文提出的FCN:

1)利用现有的Classification model进行finetuning
2)通过 skip connections来combine deep,coarse,semantic和shallow,fine,appearance layer
3)没有pre-或者post- process
4)任意的input size,输出相应size的output

Idea:

1. Fully Convolutional Networks

1)Adapting classifiers for dense prediction:通过增大input size,使得原来Classification model的vectors变成map(全连接层也要相应的变成1x1的卷积层)

这里写图片描述

2)Shiftandstitch is filter rarefaction:这个其实是overfeat的手段,由于第一步后最终输出的map太小(10x10),所以需要进行upsampling操作。这里的做法就是:如果input被网络subsample的factor为f,则在Segmentation的时候,在input上进行shift(left-top padding)操作。
3)Upsampling is backwards strided convolution:本文的实验的upsampling最终是使用这个trick的:Deconvolution(即将原来的Convolution过程反向),可以理解为双线性差值,但是其参数是可以随着back-propagation进行学习的,如果加上activation,甚至可以实现non-linearty的upsampling。要实现最简单的FCN,只需在卷积化的Classification model后加一个1x1的Deconvolution(参数不可更行,双线性插值)层就行了,如果input 被subsample了f倍,则将Deconvolution的stride设置为f即可

这里写图片描述

4)Patchwise training is loss sampling:除了whole image training,作者也试了patch-wise的training。相较于whole image,patch-wise有利于class-balance(whole image 也可以通过weighting loss达到)

2.Segmentation Architecture:

除了最简单的FCN(本文称为FCN-32s,即最后的Deconvolution stride设置为32),也探讨了几种skip-connections

这里写图片描述
这里写图片描述

FCN-16s是在FCN-32s基础上继续训练的,Learning rate缩小了100倍
由FCN-32s构造FCN-16s:在pool4 append一个stride为16的1x1的Deconvolution,再将原先conv7(图中的pool5)的stride32 1x1Deconvolution之后的map进行2x的upsampling(双线性差值,但是参数可学习),最后将2x upsampling之后的输出与pool4 stride16 1x1Deconvolution的输出进行fusion(简单的平均?)
由FCN-16s构造FCN-8s类似
  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值