FCN

全称Fully Convolutional Networks for Semantic Segmentation.是一篇2015年在CVPR上发表的语义分割的文章。论文开源代码

1 创新

  1. 第一次提出全卷积神经网络的结构。
  2. 第一个提出端到端训练的语义分割模型并取得当前最佳。
  3. 网络可以接受任意大小的图片。
  4. 提出跳跃连接结构:融合不同分辨率的特征图以获得更加精细的特征。

1.1 缺点

  1. 对小物体的分割效果不好。

2 网络结构

文中使用修改后的vgg16模:修改最后一个maxpool之后的全连接层,用两个卷积层代替(fc6 fc7)+1x1卷积层(channels=classes,用于减少卷积层的参数)再加上一个上采样层(恢复到原图像的大小以进行像素级别的分类)。论文中的结构图如图1所示。
在这里插入图片描述

图1 FCN大体结构图
论文中的FCN32s结构图如图2所示。

在这里插入图片描述

图2 FCN32s结构图
论文中fcn16s和fcn8s如图3所示,只是修改了vgg16结构,后面不变,使用fcn8s相较于fcn16s提升0.3左右,效果并不太明显。

在这里插入图片描述

图3 多尺度特征图

2.1 获得细粒度图像的方法

  1. 减少pool的使用,但是为了保持感受野不变需要扩大卷积层的卷积核大小。
  2. 使用shift-and-stitch,这种计算量太大。

2.2 upsampleing的方法

文中讨论了三种,采用的是第三种。因为第一二种结构不够常用,在此不做介绍。

  1. shift-and-stitch:计算量太大。
  2. 扩展卷积核。
  3. 使用转置卷积实现插值上采样。

3 试验结果

在这里插入图片描述
可以看到,FCN对小物体的分割效果并不好。

4 代码分析

4.1 转置卷积

一种逆卷积的运算,与卷积运算相反。
如果用矩阵运算的角度来看卷积运算:前向传播是 y = W x y=Wx y=Wx,反向传播需要依据链式法则,由于 ∂ y x = W T \partial \frac{y}{x}=W^T xy=WT,所以反向传播可以看作将函数的输入乘以转置后的权重 y = W T x y=W^Tx y=WTx。而转置卷积正好交换了前向传播和反向传播这两个函数。

  • 常用作放大图片操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值