全卷积网络FCN

2020-06-20  本文已影响0人  sheng_mingkai

Paper Address

什么是全卷积网络?

全卷积网络的提出背景

与分类不同的是,语义分割需要判断图像每个像素点的类别,进行精确分割。图像语义分割是像素级别的!但是由于CNN在进行convolution和pooling过程中丢失了图像细节,即feature map size逐渐变小,所以不能很好地指出物体的具体轮廓、指出每个像素具体属于哪个物体,无法做到精确的分割。

针对这个问题,Jonathan Long等人提出了Fully Convolutional Networks(FCN)用于图像语义分割。自从提出后,FCN已经成为语义分割的基本框架,后续算法其实都是在这个框架中改进而来。

全卷积网络改进点

可以理解为,FCN与CNN的区别在于FCN把CNN最后的全连接层换成卷积层,输出一张已经label好的图。

网络结构

全连接层和卷积层之间唯一的不同就是卷积层中的神经元只与输入数据中的一个局部区域连接,并且在卷积列中的神经元共享参数。然而在两类层中,神经元都是计算点积,所以它们的函数形式是一样的。因此,将此两者相互转化是可能的:

对于任一个卷积层,都存在一个能实现和它一样的前向传播函数的全连接层。权重矩阵是一个巨大的矩阵,除了某些特定块,其余部分都是零。而在其中大部分块中,元素都是相等的。
任何全连接层都可以被转化为卷积层。
全连接层实际就是卷积核大小为上层特征大小的卷积运算,卷积后的结果为一个节点,就对应全连接层的一个点。即若全卷积上一层的feature map尺寸为:
全卷积层为:
则可以通过一个卷积操作来代替全连接层,该卷积核大小为,且共有K个。
卷积层到全连接层的实现:可以通过一个W和b完成卷积层到全连接层的转化,W:[K,W],b:[K,1]。

如下图所示,FCN将传统CNN中的全连接层转化成卷积层,对应CNN网络FCN把最后三层全连接层转换成为三层卷积层 :


image.png
image.png
上一篇 下一篇

猜你喜欢

热点阅读