原文:https://blog.csdn.net/A_a_ron/article/details/79181108

前言

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

图示理解

使用三张图进行说明:
反卷积(Deconvolution)、上采样(UNSampling)与上池化(UnPooling)

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

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

反卷积与UnPooling的可视化

对网络层进行可视化的结果:
反卷积(Deconvolution)、上采样(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的代码,如果效果好的话,会贴出代码网址分享给大家。

--------------------- 本文来自 Atomwh 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/A_a_ron/article/details/79181108?utm_source=copy

相关文章:

  • 2022-01-16
  • 2021-06-08
  • 2021-12-17
  • 2021-04-07
  • 2021-07-17
  • 2021-09-03
  • 2021-12-15
  • 2021-12-27
猜你喜欢
  • 2021-05-31
  • 2021-09-30
  • 2021-11-23
  • 2021-05-03
相关资源
相似解决方案