FCN 论文笔记

FCN 论文笔记

原文:Fully Convolutional Networks for Semantic Segmentation


评价(翻译自A Review on Deep Learning Techniques Applied to Semantic Segmentation):

最近,最成功用于语义分割的深度学习技术均来自同一个工作,即全卷积网络FCN,该方法的出色之处在于,其利用了现存的CNN网络作为其模块来产生层次化的特征。作者将现存的知名的分类模型包括AlexNet、VGG-16、GoogLeNet和ResNet等转化为全卷积模型:将其全连接层均替换为卷积层,输出空间映射而不是分类分数。这些映射由小步幅卷积上采样(又称反卷积)得到,来产生密集的像素级别的标签。该工作被视为里程碑式的进步,因为它阐释了CNN如何可以在语义分割问题上被端对端的训练,而且高效的学习了如何基于任意大小的输入来为语义分割问题产生像素级别的标签预测。本方法在标准数据集如PASCAL VOC分割准确率上相对于传统方法取得了极大的进步,且同样高效。由于上述及更多显著的贡献,FCN成为了深度学习技术应用于语义分割问题的基石。


先介绍下语义分割,我之前做的是PPT,所以直接就把PPT转成图片放进来了



接着进入FCN的论文内容

跳过论文1、2章,看第3章


下图对应论文3.1

对应论文3.2、3.3、3.4,说了下传统的dense prediction方法

dense prediction直译是密集预测,对图像的像素进行类别预测(其实也就是语义分割的任务要求)


论文第4章,网络结构

先降采样(卷积、池化),再上采样(反卷积)

降采样是为了更好的获得语义信息,就是不多卷几层就没法正确分类。但是卷积和池化之后feature map变的很小了,需要还原成原图大小,所以就用上采样(反卷积)的方式把feature map 还原回原图大小。



下面解释下反卷积(本人渣渣若有错误请大神指正)

下面举例说下反卷积怎么算的,以及为啥人们都说反卷积其实应该叫转置卷积


人类是像下图这样计算卷积的

人类实现卷积运算

但是计算机实际上是下图这样计算卷积的

计算机实现卷积运算

所以计算机实现反卷积(转置卷积)实际上是下图这样算的

计算机实现反卷积(转置卷积)

把上图的操作变成人类的操作就是下图这样:

所以就相当于那个动画中pad了两圈零再进行了卷积

再插下刚才那个图


回到论文,下图是FCN论文提出的网络结构


总结下


编辑于 2018-09-13

文章被以下专栏收录