反卷积(Deconvolution)、上采样(UNSampling)与上池化(UnPooling)

前言

在看图像语义分割方面的论文时,发现在网络解码器结构中有的时候使用反卷积、而有的时候使用unpooling或或者unsampling,查了下资料,发现三者还是有不同的。这里记录一下。

图示理解

使用三张图进行说明:
这里写图片描述

图(a)表示UnPooling的过程,特点是在Maxpooling的时候保留最大值的位置信息,之后在unPooling阶段使用该信息扩充Feature Map,除最大值位置以外,其余补0。与之相对的是图(b),两者的区别在于UnSampling阶段没有使用MaxPooling时的位置信息,而是直接将内容复制来扩充Feature Map。从图中即可看到两者结果的不同。图(c)为反卷积的过程,反卷积是卷积的逆过程,又称作转置卷积。最大的区别在于反卷积过程是有参数要进行学习的(类似卷积过程),理论是反卷积可以实现UnPooling和unSampling,只要卷积核的参数设置的合理。

有关反卷积的详细信息,可以参考这篇博客

反卷积与UnPooling的可视化

对网络层进行可视化的结果:
这里写图片描述

图(a)是输入层;图(b)是14*14反卷积的结果;图(c)是28*28的UnPooling结果;图(d)是28*28的反卷积结果;图(e)是56*56的Unpooling结果;图(f)是56*56反卷积的结果;图(g)是112*112 UnPooling的结果;图(h)是112*112的反卷积的结果;图(i)和图(j)分别是224*224的UnPooling和反卷积的结果。两者各有特点。

图像来自论文《Learning Deconvolution Network for Semantic Segmentation》

后记

目前Keras中只有UnSampling和反卷积的函数,还没有UnPooling的实现代码,目前自己正在写UnPooling的代码,如果效果好的话,会贴出代码网址分享给大家。

  • 74
    点赞
  • 283
    收藏
    觉得还不错? 一键收藏
  • 26
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值