Fully convolutional network
讲解
简单的来说,FCN与CNN的区域在把于CNN最后的全连接层换成卷积层,输出的是一张已经Label好的图片。
全连接层和卷积层之间唯一的不同就是卷积层中的神经元只与输入数据中的一个局部区域连接,并且在卷积列中的神经元共享参数。然而在两类层中,神经元都是计算点积,所以它们的函数形式是一样的。因此,将此两者相互转化是可能的:
25088个神经元与输出的4096个结点每一个都相连接,每个连接对应一个权重。
一个卷积核对应77512个参数,共有4096个卷积核。
FCN-32S
1、通过VGG16后,特征图大小变为h/32,w/32,512,padding=3,通过FC6后不会改变高和宽。
2、Conv2d使用的卷积核大小也为11,但是个数为num_class。
3、通过转置卷积上采样32倍,就会恢复到原图大小。变成了hw*num_class,经过softmax处理后就能得到每一个像素的预测列表。
转置卷积
- 在输入特征图元素间填充s-1行、列0
- 在输入特征图四周填充k-p-1行、列0
- 将卷积核参数上下、左右翻转
- 做正常卷积运算(填充0,步距1)
- s为卷积步长、k为卷积核大小