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

论文地址:Fully Convolutional Networks for Semantic Segmentation
[Long J , Shelhamer E , Darrell T . Fully Convolutional Networks for Semantic Segmentation[J]. IEEE Transactions on Pattern Analysis & Machine Intelligence, 2014, 39(4):640-651.]
论文实现:github代码

1. 创新

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

2.模型提出

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

3.模型架构

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

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

3.2 使用反卷积的上采样

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

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

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

3.3 跨层结构(skip architecture)

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

  首先是基础的五步操作:

  • Input →\rightarrow→ n convs + 1 max Pooling →\rightarrow→ poo1:: 12\frac{1}{2}21​Input
  • pool1 →\rightarrow→ n convs + 1 max Pooling →\rightarrow→ poo2:: 14\frac{1}{4}41​Input
  • pool2 →\rightarrow→ n convs + 1 max Pooling →\rightarrow→ poo3:: 18\frac{1}{8}81​Input
  • pool3 →\rightarrow→ n convs + 1 max Pooling →\rightarrow→ poo4:: 116\frac{1}{16}161​Input
  • pool4 →\rightarrow→ n convs + 1 max Pooling →\rightarrow→ poo5:: 132\frac{1}{32}321​Input
      应用跳跃结构得到三种不同的模型:
  • 直接对 pool5 进行 32x 上采样后,将得到的特征图扔给Softmax分类器,得到密集预测结果 →\rightarrow→ FCN-32s
  • 对 pool5 进行 2x 上采样得到与 pool4 尺寸一样的上采样特征,并于 pool4 逐点相加得到特征图,对此特征图进行 16x 上采样,将得到的特征图扔给Softmax分类器,得到密集预测结果 →\rightarrow→ FCN-16s
  • 对 pool5 进行 2x 上采样得到与 pool4 尺寸一样的上采样特征,对此特征进行 2x 上采样得到与 pool3 尺寸一样的上采样特征,并于 pool3 逐点相加得到特征图,对此特征图进行 8x 上采样,将得到的特征图扔给Softmax分类器,得到密集预测结果 →\rightarrow→ FCN-8s

4. 训练

4.1 StageWise Training

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

4.2 其他细节

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

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

  1. 【CV语义分割】全卷积神经网络FCN(更新ing)

    学习总结 (1)paper<Fully Convolutional Networks for Semantic Segmentation> (2)论文翻译可以参考:https://www. ...

  2. 全卷积神经网络( FCN ):语义分割深度模型先驱

    语义分割 简单地说,分割就是抠图.语义分割,就是按图像中物体表达的含义进行抠图. 现在ps已经集成很多自动分割的功能,相比旧版本软件,新软件提高了美工人员的抠图和美图的效率. 如果我们能在更复杂的环境 ...

  3. picpick尺子像素大小精度不够准确_picpick尺子像素大小精度不够准确_【论文解读】像素级分割里程碑算法——FCN全卷积神经网络......

    FCN论文链接:Fully Convolutional Networks for Semantic Segmentation 作者代码(caffe版):https://github.com/shelh ...

  4. 全卷积神经网络(FCN)

    目录 卷积化 上采样 跳跃结构 卷积化 上采样 跳跃结构 卷积化 上采样 跳跃结构 论文:Fully Convolutional Networks for Semantic Segmentation( ...

  5. FCN(全卷积神经网络)详解

    文章目录 1. 综述 简介 核心思想 2. FCN网络 2.1 网络结构 2.2 上采样 Upsampling 2.3 跳级结构 3 FCN训练 4. 其它 4.1 FCN与CNN 4.2 FCN的不 ...

  6. 全卷积神经网络FCN

    卷积神经网络CNN(YannLecun,1998年)通过构建多层的卷积层自动提取图像上的特征,一般来说,排在前边较浅的卷积层采用较小的感知域,可以学习到图像的一些局部的特征(如纹理特征),排在后边较深 ...

  7. 全卷积神经网络(FCN)论文笔记

    全卷积神经网络(FCN)论文笔记 Fully Convolutional Networks for Semantic Segmentation Abstract 卷积网络是一种功能强大的视觉模型,可以 ...

  8. 图像分割之FCN全卷积神经网络

    FCN全卷积神经网络 语义分割概念 语义分割就是逐像素的图像中的内容进行分类,属于同一类的像素都要被归为一类,因此语义分割是从像素级别来理解图像的. 注意区分的是:语义分割与实例分割不同,下图为FCN ...

  9. LiteFlowNet:用于光流估计的轻量级卷积神经网络

    LiteFlowNet:用于光流估计的轻量级卷积神经网络 原文链接 摘要   FlowNet2 [14] 是用于光流估计的最先进的卷积神经网络 (CNN),需要超过 160M 的参数才能实现准确的流估 ...

  10. 全卷积神经网络(FCN)和卷积神经网络(CNN)的主要区别

    卷积神经网络主要由卷积层.池化层和全连接层组成.排在前面的较浅的卷积层采用较小的感知域,可以学到图像的一些局部特征(如纹理特征),排在后面较深的卷积层采用较大的感知域,可以学到更加抽象的特征(如物体的 ...

最新文章

  1. 没被同事卷死,被司机卷死了...
  2. 感知算法论文(三):Feature Selective Anchor-Free Module for Single-Shot Object Detection
  3. h.264视频文件封装
  4. bootstrap学习笔记(5)
  5. Apache Tomcat安装配置
  6. 自我成长与团队管理——一些总结
  7. python练习五——PTA
  8. java输入 以逗号隔开_要求做个java程序用户输入数字逗号隔开, 计算下面的公式 多谢了...
  9. vue提示Named Route ‘News‘ has a default child route. When navigating to this named route...问题
  10. 大陆高校毕业IEEE fellow榜单
  11. 派克液压泵电控比例放大器
  12. JAVA基础----终弄清java核心技术卷1中的int fourthBitFromRight = (n 0b1000 ) / 0b1000;是怎么回事了。。。
  13. minio Non-XML response from server
  14. CS231n 02 Loss Functions and Optimization
  15. 广西教师招聘需要计算机考试证,2020广西教师招聘报考需要有教师资格证吗
  16. 都在说并发,啥是并发?
  17. 大数据好学么?具体学什么?
  18. uos打包——appimage包转uos的deb包
  19. anaconda卸载后重装出现了问题
  20. 00后年薪百万的乐观背后,是前浪的薪资倒挂

热门文章

  1. struts2_20140720
  2. Java获取http和https协议返回的json数据
  3. 【并行计算-CUDA开发】 NVIDIA Jetson TX1
  4. 2 分支语句——《Swift3.0 从入门到出家》
  5. 50个新的汉化Demo!纯前端 Wijmo 放大招
  6. 什么是CSS+DIV及其优势所在?
  7. mysql 语句 简书_MySQL基本语句
  8. java kettle job,kettle java job
  9. 中文字符频率统计python_使用 Python 统计中文字符的数量
  10. python多进程编程实例_Python多进程并发(multiprocessing)用法实例详解