卷积化
上采样
跳跃结构
论文:Fully Convolutional Networks for Semantic Segmentation(2015)
参考:https://zhuanlan.zhihu.com/p/80715481
全卷积神经网络(Fully Convolutional Networks for Semantic Segmentation)第一次将卷积神经网络结构应用到图像语义分割领域,是开山之作。
FCN当中有几个关键的概念:
卷积化
卷积化(convolutionalize)即用卷积层代替全连接层。
对于AlexNet、VGG、GoogeLeNet等用于图像分类的CNN,大多是使用全连接层来实现类别预测。但是全连接层是将特征图拉成一个向量,丢失了图像的空间信息。FCN中将全连接层改为卷积层。例如作者在使用VGG-16分类框架的基础上,将最后三个全连接层变成了[256,4096,7,7]、[1,4096,1,1]、[4096,4096,1,1]、[4096,21,1,1]。这样由于没有了全连接层的限制,输入图像就可以是任意大小。
上采样
在VGG、AlexNet以及ResNet中最后的特征图都是原图像缩小了很多倍。比如VGG16将原图缩小了32倍。我们需要得到的是一个与原图像大小相同的输出,因此需要进行上采样。FCN采用转置卷积进行上采样(Upsampling)。
跳跃结构
FCN在较深处的卷积层融入了浅层卷积的特征。FCN设计了三种上采样的方式:FCN-32s、FCN-16s、FCN-8s,最后一种效果最好。
首先 FCN-32s 是没有融合浅层特征信息的,直接在分类网络后用卷积层替代全连接层,之后经过 kernel size = 64, stride = 32, padding = 16 的转置卷积放大到原图像大小,通道为(类别数量+1)。
FCN-8s 首先将32倍下采样后的特征图使用 kernel size = 4, stride = 2 的转置卷积上采样至16倍下采样的特征图,之后与原图像16倍下采样的特征图经过
1
×
1
1 \times 1
1×1 卷积的结果相加。之后再使用 kernel size = 4, stride = 2 的转置卷积上采样至8倍下采样特征图,与原图像8倍上采样特征图经过
1
×
1
1 \times 1
1×1 卷积的结果相加。最后再经过 kernel size = 16, stride = 8 的转置卷积上采样至原图像大小。
图自 https://zhuanlan.zhihu.com/p/80715481
|