深度学习与TensorFlow:FCN论文学习笔记

这篇文章陆陆续续看了快两周,其中也遇到了自己很多的知识的漏洞,踩了很多坑,这里希望能够和大家说一说,也希望大家可以分享一下自己的看法.

1:FCN基本思路

自从CNN成功之后,很多人都在尝试使用CNN进行图像分割,个人认为CNN最厉害的地方是他的多层结构可以自动提取学习的特征,并且将其学习,并且将提取的这些特征进行分类,但是我们当用CNN进行图像分割的时候,CNN的这项优势反而变成了劣势,因为在特征提取时丢失了一些细节,反倒没有办法指出某些像素点属于那些物体,而FCN跟传统的CNN进行像素分割不同,FCN是试图从抽象的这些抽象的特征中恢复每个像素的类别,也就是从物体的分类到像素点级别的分类,这可以说是一个很大的突破.

2:end-to-end模型怎么理解?

在论文阅读中,我们多次发现读者强调FCN是end-to-end的,这一个部分我觉得用NLP的流程思路去想想还是挺有意思的.在我们之前的NLP对话系统中,往往是由很多个模块组成的,每一个模块单独执行一块任务,这些模块合在一起就构成了整个系统,这样有些面向对象的思想,但是这样每一个模块质量的好坏将直接影响到下一个步骤甚至是整个任务,这是非端到端的.

现在到了深度学习了,深度学习的模型直接在训练过程中从输入数据开始,到达输出端就会有一个输出结果,这样和真实的结果之间就会有一个误差值,这个误差会经过反向传播之后不断进行迭代,每层进行微调,直到我们的模型误差达到一个合理的范围.

最后通俗的说,端到端模型就是输入原始数据,经过模型,获得你想要的结果.

3:FCN基本结构

FCN将传统CNN中的全连接层转化成一个个的卷积层

在上图中,我们可以看到FCN将传统的CNN中的三层全连接层全部修改为卷积层,卷积核的大小(通道数,宽,高)分别为(4096,1,1)、(4096,1,1)、(1000,1,1)。所有的层都是卷积层,所以叫做FCN.

但是我们熟悉卷积原理我们应该知道,每一次卷积都是对图像的一次缩小,每一次缩小带来的是分辨率越低,图像越模糊,而在第一部分我们知道FCN是通过像素点进行图像分割,那FCN是怎么解决的这一个问题?

答案是上采样,比如我们在3次卷积后,图像分别缩小了2 4 8倍,因此在最后的输出层,我们需要进行8倍的上采样,从而得到原来的图像大小.而上采样本身就是一个反卷积实现的,论文中的解释:卷积的forward、backward操作对调,也就是转置卷积.

上图是这个卷积和反卷积上采样的过程:所说的是对第5层的输出(32倍放大)反卷积到原图大小,得到的结果还是不够精确,一些细节无法恢复。于是Jonathan将第4层的输出和第3层的输出也依次反卷积,分别需要16倍和8倍上采样,结果就精细一些了。

有对反卷积不理解的同学可以去看看知乎的提问,如果通俗易懂的解释反卷积?

从论文中得到的结果来看,从32倍,16倍,8倍到最终结果,结果越来越精细.

4:优点和不足

优点:

1:模型的拓展性简单

主要结构与很多模型都类似,基本上现在的采用CNN的模型都可以通过将全连接层转换为卷积层来转化为全卷机模型,这样就可以输出空间的映射.

2:速度快速,高效

因为避免了由于使用像素块而带来的重复存储和计算卷积的问题。

缺点:

1:结果不够精细

从上图中来看,进行8倍上采样虽然比32倍的效果好了很多,但是上采样的结果还是比较模糊和平滑,对图像中的细节不敏感.

2:没有考虑像素之间的关系,缺乏空间一致性.

5:展望

FCN虽然有一些缺点,但是我们更应该关注他的优点,关注他启发性的思路,通过像素与像素之间的关系来去将图像进行分割,比如有一些学者采用了FCN+CRF的结合,这都是一些大胆的创新,值得我们学习.

引用资料:

1:FCN学习笔记 https://zhuanlan.zhihu.com/p/34453588

2:什么是 end-to-end 神经网络? https://www.zhihu.com/question/51435499

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏人工智能LeadAI

计算机视觉中 RNN 应用于目标检测

深度学习在计算机视觉领域取得的巨大的发展,最近几年CNN一直是目前主流模型所采取的架构。最近半年RNN/LSTM应用在识别领域逐渐成为一种潮流,RNN在获取目标...

5735
来自专栏云时之间

深度学习与TensorFlow:FCN论文学习笔记

1365
来自专栏机器之心

学界 | 中科院自动化所提出不规则卷积神经网络:可动态提升效率

选自arXiv 作者:马佳彬等 机器之心编译 参与:李泽南 近日,中国科学院自动化研究所马佳彬、王威、王亮等人发表的研究提出了一种新形式的卷积神经网络——不规则...

3037
来自专栏机器学习算法与Python学习

初步了解支持向量机(SVM)-1

从今天开始整理一些关于支持向量机-Support Vector Machine 的相关知识,大约发6-8篇的博客,敬请关注~欢迎推荐~ 好了,由...

41911
来自专栏专知

【深度前沿】深度森林最新进展,南京大学周志华教授MLA2017解读,最新实验结果挑战深度学习

【导读】北京时间 11月5 日到11月6日,一年一度的“机器学习及其应用”(MLA)系列研讨会在北京交通大学开幕,西瓜书《机器学习》作者、南京大学机器学习与数据...

1K5
来自专栏目标检测和深度学习

重磅!卷积神经网络为什么能称霸计算机视觉领域?

942
来自专栏数据科学与人工智能

【算法】集成学习

小编邀请您,先思考: 1 集成学习是什么? 2 如何用Python或者R实现集成学习? 1 集成学习是什么? 简单来说,集成学习是一种技术框架,其按照不同的思路...

3319
来自专栏人工智能头条

CMU最新视觉特征自监督学习模型——TextTopicNet

作者 | Yash Patel,Lluis Gomez,Raul Gomez,Marcal Rusinol,Dimosthenis Karatzas, C.V....

1501
来自专栏文武兼修ing——机器学习与IC设计

YOLOv2与YOLOv3学习笔记基本思路模型训练YOLOv3

3.3K5
来自专栏云时之间

反向传播算法的矩阵维度分析

各位小伙伴们大家好,这几天我在群里看见了一位小伙伴提出了关于BP神经网络的反向传播算法的梯度维度的问题,我对这个问题也很有兴趣,所以希望通过这篇文章来去和大家探...

3749

扫码关注云+社区