目录
一 FCN的网络结构
二 对网络结构的说明
将CNN中的全连接层换成了反卷积层从而得到预测结果。
三 内容介绍
1.主要贡献
- 将end-to-end的卷积网络应用于语义分割
- 将imageNet预训练的模型改变用途用于分割
- 用反卷积层来做上采样
- 引入了skip-connections 来提升上采样的精度
2.FCN说明
FCN对CNN的全连接层有了更深的认识,认为全连接层可以被看作是kernels 覆盖整个输入区域的卷积。这相当于是在重叠的输入patch上评价原始分类网络(VGG,GoogleNet...),但由于计算是在重叠的patch区域上进行共享的,因此效率要高得多。尽管这一观察结果并非本文所独有,但是它明显的提高了分割的准确率。
在像VGG这样的imagenet预训练网络中对全连接层进行卷积之后,由于CNNs中的池操作,特征图仍然需要上采样。这里用到了反卷积层(而不是双线性插值上采样),反卷积可以学习到插值。
然而,上采样后(即便是用反卷积)产生了粗糙的分割图(由于polling的时候会丢失信息)。因此 shortcut/skip connection被高分辨率的特征图所引入/
3.算法结果
4.评价
FCN在语义分割方面是一个重要的贡献,但目前的算法已经比它提高了很多。
四 FCN相关的网络资源
FCN介绍:http://imgtec.eetrend.com/d6-imgtec/blog/2018-09/17954.html
文章中说polling每次都会减少2 是不妥的,polling后的尺寸跟stride 有关
FCN中反卷积的说明:https://www.zhihu.com/question/50349594
这里是将卷积的参数C 转置之后,作用于输入矩阵,从而生成输出矩阵的方法,因此也叫转置卷积
对应于tensorflow的API :tf.conv2d_transpose()
对该API的说明:https://blog.csdn.net/mieleizhi0522/article/details/80441571
FCN的实现:https://github.com/aurora95/Keras-FCN