FNC理论解读

FCN的前身

见下图,可看出下图由convolution 和fully connected构成,其中convolution的部分由卷积(获取高维特征)和pool(使图片缩小一半),而fully connected 主要传统神经网络相似作为权值训练,最后通过softmax输出概率最高的类别。

图1
将全连接层转换为卷积层,这也是fully Convolutional Networks的由来。

图二

参照论文:Transforming fully connected layers into convolution layers enables a classification net to output a heatmap.可见下图的heatmap ,这个时候已经将原来只是识别图片类别,逐渐凸显图片里物体的轮廓,接下来要做的只是如何将该轮廓更加清晰一些。

图三

双线性差值

双线性差值的前置知识比较多,从数学角度比较难以理解,但是仅看代码,还是比较容易。
双线性差值主要应用于建立转置卷积的kernel。

转置卷积

如下图所示蓝色为原图像,白色为对应卷积所增加的padding,通常全部为0,绿色是卷积后图片。需要特别注意的是stride在这里不是kernel划动的长度,而是input image的间隔。

这里写图片描述

FCN-32s,FCN-16s,FCN-8s

卷积是不会改变图像大小,pool就是使得图片变为原图的1/2,所以在pool5之后,图像变为原来的1/32(假如输入图像为32x32,那么pool1:16x16;pool2:8x8;pool3:4x4;pool4:2x2;pool5:1x1)。

FCN-32s:

FCN-32s这是在pool5之后增加一个卷积层,然后经过转置卷积之后扩大32倍,变成与输入图像等大。

FCN-16s:

FCN-16s这是在pool5之后增加一个卷积层pool5_ conv,然后再经过转置卷积之后扩大2倍(称作2x pool5_ conv),变成与pool4卷积之后(称作 pool4_ conv)同等大小,然后将2x pool5_ conv和pool4_ conv进行fuse操作(事实上就是2x pool5_ conv和pool4_ conv相加),之后fuse结果进行16x upsampled prediction,至此完成了一个16s的upsample。

FCN-8s:

FCN-8s需要将pool5卷积生成pool5_ conv进行经过一次4x upsample(将结果称作4x pool5_ conv),变成了4x4。然后将pool4卷积生成pool4_ conv进行2x upsample(将结果称作2x pool4_ conv),变成了4x4,最后将4x pool5_ conv和2x pool4_ conv和pool_ conv进行fuse得到求和后的特征图,最后增加一个卷积层,使得输出图片大小为pool3的8倍,也就是8x upsampled prediction的过程。

这里写图片描述

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值