全卷积神经网络_图像语义分割(1)-FCN:用于语义分割的全卷积神经网络

816cc416abb7f9c89ac52283a1a75621.png

1. 创新

  • 接收任意尺寸输入的全卷积网络
  • 使用反卷积的上采样
  • 融合深层粗糙特征和浅层精细特征的跳跃结构

2.模型提出

  • 为什么可以将CNN转化为FCN?全连接层可以看作卷积层,其中,feature map 1x1,向量长度为通道数。
  • 为什么需要上采样?端到端的密集预测需要输入和输出的尺寸一致,而提取特征图的过程中图像像素降低,感受野变大,输出尺寸与输入不一致。
  • 为什么需要跳跃结构进行跨层特征融合?深层的特征对应全局的语义信息,浅层的特征对应着目标的位置信息,语义分割二者都需要考虑,所以引入了跳跃结构。

3.模型架构

3.1 调整分类网络至全卷积以进行稠密预测

将全连接层替换为卷积层,如图:

8acd013471060731b30b04e86297bd9d.png

3.2 使用反卷积的上采样

为了还原图像的尺寸,文章中提出了三种方法,即稀疏滤波(Shift-and-stitch)、双线性插值、和反卷积, 并采用了反卷积的方法。反卷积是与卷积操作相反的计算,比如下图是普通的卷积,4x4 Input、3x3 KernelSize、0 pad、1 stride:

2900b6db6a13e0ab86d71835bdb6e043.png

反卷积将卷积还原:2x2 Input、3x3 KernelSize、0 pad、1 stride,如图:

e4a96bface7c66b4827c67dc3c9349b0.png

在TensorFlow框架中,反卷积过程如下:

eafffc7044556eb73bc0297caae69372.png

3.3 跨层结构(skip architecture)

首先贴上论文中的结构图:

b1401a2c97a4a21fbfe27837f9c5cdef.png

首先是基础的五步操作:

9222081bd38cf4c6dc39cfbd703816c9.png

应用跳跃结构得到三种不同的模型:

  • 直接对 pool5 进行 32x 上采样后,将得到的特征图扔给Softmax分类器,得到密集预测结果 → FCN-32s
  • 对 pool5 进行 2x 上采样得到与 pool4 尺寸一样的上采样特征,并于 pool4 逐点相加得到特征图,对此特征图进行 16x 上采样,将得到的特征图扔给Softmax分类器,得到密集预测结果 → FCN-16s
  • 对 pool5 进行 2x 上采样得到与 pool4 尺寸一样的上采样特征,对此特征进行 2x 上采样得到与 pool3 尺寸一样的上采样特征,并于 pool3 逐点相加得到特征图,对此特征图进行 8x 上采样,将得到的特征图扔给Softmax分类器,得到密集预测结果→ FCN-8s4. 训练

4.1 StageWise Training

  • 将经典分类网络初始化,弃用全连接层为卷积层
  • 从特征小图 16x16x4096 预测分割小图 16x16x21,之后上采样为大图。反卷积步长为32
  • 融合pool4,反卷积步长16
  • 融合pool3,反卷积步长8,得到效果最好的FCN-8s

4.2 其他细节

  • 使用数据增强方式对最终结果影响不大(需要思考一波为什么和这种效果与GAN的联系);增加有效标注数量提升了最终的性能
  • 参数:20 mini batch;固定学习率;动量 0.9;weight decay
  • 微调:对整个网络进行微调对性能的提升不大,因为直接微调后几层就会达到前者70%左右的性能
  • 没有类别平衡策略

欢迎关注 深度学习与数学 [每天获取免费的大数据、AI等相关的学习资源、经典和最新的深度学习相关的论文研读,算法和其他互联网技能的学习,概率论、线性代数等高等数学知识的回顾]

9799e0d84f0aa23444c0ee251b33b87a.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值