Fully Convolutional Networks for Semantic Segmentation


作者: Jonathan Long, Evan Shelhamer, Trevor Darrell;
出处: Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2015, pp. 3431-3440


Abstract

卷积网络是强大的视觉模型,能产生层次分明的特征。我们证明,卷积网络本身通过端到端、像素到像素的训练,在语义分割方面超过了最先进的水平。关键是建立 "完全卷积 "网络,该网络接受任意大小的输入,并产生相应大小的输出,同时具有高效的推理和学习能力。本文定义并详细说明了全卷积网络的空间构造,解释了它们在空间密集型预测任务中的应用,并得出与先前模型的联系。本文将当代分类网络(AlexNet、VGG 和GoogLeNet)改编为全卷积网络,并通过精调将它们学到的表征转移到分割任务上。然后,设计了一个skip跳跃结构,将深层次、粗略的语义信息与来自浅层、细致的局部信息结合起来,以产生准确而详细的分割。本文的全卷积网络实现了对PASCAL VOC(相对于2012年62.2%的平均IU提高了20%)、NYUDv2和SIFT Flow的最先进的分割,而对于一个典型的图像,推理时间不到五分之一秒。


一、Introduction

全卷积网络FCN

特点:1、FCN是将卷积网络的全连接层变为1*1卷积层,实现端到端
2、利用迁移学习进行微调,将成功的分类网络转移到密集预测
3、FCN使用跳跃连接,将全局和局部信息结合起来,提高分割精度

二、Related work

根据现有方法的不同,本文调整和扩展了深度分类架构,将图像分类作为有监督的预训练,并对全卷积进行微调,将各层的特征融合起来,形成一个非线性的从局部到整体的表征,进行端到端的调整,以简单而有效地方式从整个图像输入和整个图像基础上学习。

三、Fully convolutional networks

1、感受域:高层次的一个位置与输入图像的位置相对应,这个对应的区域称为感受域

2、平移不变性:卷积网络是建立在平移不变性的基础上,卷积、池化和激活函数在局部输入区域上运行,并且依赖于相对空间坐标。(二次采样会影响卷积神经网络)

3、FCN可以对任何大小的输入进行操作,并产生相应(可能重新采样)空间维度的输出。

4、FCN将所有末级感受野作为一个小批量,当这些感受野明显重叠时,在整个图像上逐层计算时,前馈计算和反向传播都要比逐块单独计算时效率更高。

方法:

(一)adapting classifiers for dense prediction

调整分类器用于密集预测
全连接层被视为卷积核覆盖整个输入区域的卷积。将它们投射到完全卷积的网络中,这些网络接受任何大小的输入,最后添加层和空间损失,输出分类图。

(二)shift-and-stitch is filter rarefaction

移位和拼接是过滤器稀疏
(本文未使用)

(三)upsampling is backwards strided convolution

上采样是转置卷积(反卷积)
1、将粗略输出连接到密集像素的一种方法是插值,这取决于输入和输出单元的相对位置。
2、上采样:因子f的上采样是输入步长为1/f的卷积。只要f是整数,上采样方式就是输出步长为f的向后卷积(有时称为反卷积)。因为它只是反转卷积的向前和向后过程。因此,在网络中执行上采样,以便通过像素损失的反向传播进行端到端学习 (这种层中的反褶积滤波器不需要固定但可以学习。)

(四)patchwise training is loss sampling

逐块训练是采样损失
逐块训练和FCN 可以产生任何分布,而且在逐块训练中采样可以纠正类不平衡,减轻patch间的空间相关性,FCN也可以通过加权损失实现类平衡,并且可以使用损失采样来解决空间相关性。

四、Segmentation Architecture

将ILSVRC分类器转换为FCN,并通过网络内上采样和像素级损失对其进行增强,以实现密集预测。通过微调来训练分割。在层之间添加跳跃连接,以融合粗糙的语义的和局部外观信息。

(一)from classifier to dense FCN

从分类器到密集FCN

本文选择VGG16层网络(相当于19层网络),丢弃最终的分类器层并将所有完全连接的层转换为卷积,附加一个通道维数为21的1×1卷积,以预测每个粗略输出位置处每个PASCAL类(包括背景)的分数,然后是一个反卷积层,以双线性向上采样粗略输出到像素密集输出
在固定学习率至少175个阶段下收敛后可以获得的最佳结果。

(二)combining what and where

分割架构

由上图可以看出,本文三种设想,输入图片经过5次卷积池化后(原图的1/32),一种是直接进行32倍的上采样得到FCN-32s;一种是将pool5进行2倍的上采样(原图1/16),然后通过跳跃连接和pool4融合,得到FCN-16s;一种是将pool5上采样扩大4倍(原图1/8),将pool4上采样扩大2倍(原图1/8),和pool3跳跃连接融合形成FCN-8s。


由预测图和数值可知FCN-8s效果更好(更深层次融合例如pool2、pool1效果不如FCN-8s)

跳跃连接将最终预测层与步长更小的较低层结合起来。将线性拓扑转化为有向无环图DAG,从较低的层向前跳到较高的层。得到更精细的内容。跳跃连接结合精细层和粗糙层让模型做出符合全局结构的局部预测。

(三)experimental framework

实验框架

  1. 优化: 本文用带有动量的随机梯度下降算法(SGD)进行训练
  2. 微调:通过整个网络的反向传播来微调所有层
  3. 更多的训练数据
  4. patch采样:训练将每幅图像分成一个规则的网格,其中包含大量重叠的patch,利用空间采样,并将每批图像的数量增加了1/p加快收敛速度
  5. 类平衡:通过加权或采样损失实现类平衡
  6. 密集预测:通过网络内的反卷积将分数提升到输入维度。最终层反卷积固定为双线性插值,而中间上采样层初始化为双线性上采样,然后学习
  7. 增强:通过随机镜像和“抖动”图像来增强训练数据,将图像在每个方向上转换到32像素(最粗略的预测尺度),这没有产生明显的改善。
  8. 实现:http://fcn.berkeleyvision.org

五、Results


六、Conclusion

全卷积网络FCN是一类丰富的模型,扩展这些分类并通过多分辨率层组合改进体系结构,极大地提高了最先进的技术水平,同时简化和加快了学习和推理。


总结

  1. 卷积代替全连接
  2. 通过跳跃连接将前后特征图融合
  3. 利用反卷积对特征图进行扩大
  4. 算法至少在175个epoch后有不错表现
  5. pool3前特征图不需融合

Fully Convolutional Networks for Semantic Segmentation ————全卷积网络 FCN论文解读相关推荐

  1. Fully Convolutional Networks for semantic Segmentation(深度学习经典论文翻译)

    原文链接:https://www.cnblogs.com/xuanxufeng/p/6249834.html 摘要 卷积网络在特征分层领域是非常强大的视觉模型.我们证明了经过端到端.像素到像素训练的卷 ...

  2. (FCN)-Fully Convolutional Networks for Semantic Segmentation

    文章目录 Fully Convolutional Networks for Semantic Segmentation 摘要 全局信息和局部信息 感受野 FCN算法架构 训练技巧 详细参考 Fully ...

  3. 论文精读及分析:Fully Convolutional Networks for Semantic Segmentation

      本文主要内容为论文<Fully Convolutional Networks for Semantic Segmentation> 的阅读笔记,在原始论文的基础上加入了自己的一些理解, ...

  4. 【FCN】Fully Convolutional Networks for Semantic Segmentation学习

    论文翻译 又是一个看不懂原文,又看不懂翻译的论文. semantic segmentation 图像语义分割 就是预测每个像素所属的对象类别 语义分割是指像素级地识别图像,即标注出图像中每个像素所属的 ...

  5. Fully Convolutional Networks for Semantic Segmentation(FCN)阅读理解

    1. 作者介绍 在论文中声明 Jonathan Long 和 Evan Shelhamer 为共同一作,随后是 Trevor Darrell . 首先介绍 Jonathan Long,通过他的主页我们 ...

  6. 深度图像分割 -- Fully Convolutional Networks for Semantic Segmentation

    CVPR2015 PAMI 2016 Fully Convolutional Networks for Semantic Segmentation Code: https://github.com/s ...

  7. Fully Convolutional Networks for Semantic Segmentation (FCN)论文翻译和理解

    论文题目:Fully Convolutional Networks for Semantic Segmentation 论文来源:Fully Convolutional Networks for Se ...

  8. FCN的学习及理解(Fully Convolutional Networks for Semantic Segmentation)

    大多数人接触"语义"都是在和文字相关的领域,或语音识别,期望机器能够识别你发出去的消息或简短的语音,然后给予你适当的反馈和回复.嗯,看到这里你应该已经猜到了,图像领域也是存在&qu ...

  9. 论文笔记《Fully Convolutional Networks for Semantic Segmentation》

    [论文信息] <Fully Convolutional Networks for Semantic Segmentation> CVPR 2015 best paper key word: ...

最新文章

  1. python编程入门第九讲,第九讲作业---函数
  2. 测试龙芯 LoongArch .NET之 使用 FastTunnel 做内网穿透远程计算机
  3. php globals_PHP $ GLOBALS(超级全局变量),带有示例
  4. Asp.net页面和Html页面之间的关系
  5. python cx_oracle配置_python连接oracle的模块cx_Oracle安装和配置
  6. 带你全面了解Http和Https(开发人员必备)
  7. MPQ Storm库 源码分析 一
  8. jenkins ssh远程执行命令 碰到的2个坑
  9. ug录入属性_ug表格属性
  10. excel超链接报本机限制问题
  11. XSS第一节,XSS档案
  12. matlab中的subplot函数
  13. 关于c#:如何续订过期的ClickOnce证书?
  14. struct 结构体的内存对齐
  15. 怎么把文件上传到java se_java se模仿http向web服务器上传文件
  16. 故障分析 | 报错 ERROR 5270 -HY000-- object not in RECYCLE BIN 引发的几个思考
  17. 图像处理(4) : 图像颜色
  18. GD32实战20__Boot综合实验
  19. 探究vite——新一代前端开发与构建工具(一)
  20. ppet配合live2d实现DIY桌宠-可爱的猫(支持Linux,windows,mac)

热门文章

  1. android rom制作之bootimg的详细介绍和使用
  2. 数据库的事务的基本特性
  3. form in drupal
  4. 最短路径算法——迪杰克斯拉算法/floyd算法
  5. 志愿者招募令|来!一起Build OceanBase第一次开发者大会
  6. postgres更改数据库名的条件
  7. 小学校计算机教室年度工作总结,小学2017年信息技术教师个人工作总结
  8. java手机飞行模式_今天才发现,原来手机的飞行模式这么厉害,每天晚上都能用上...
  9. 在网站上添加百度搜索
  10. 意大利农业股份与中国海南永利实业共同组建国际贸易产品流通枢纽中心