-
2021-11-21 09:37:50
1. 什么是上池化?
上池化是一种上采样的方法。
上池化是在CNN中常用的来表示max pooling的逆操作。最早来源于2013年纽约大学Matthew D. Zeiler和Rob Fergus发表的《Visualizing and Understanding Convolutional Networks》。
鉴于max pooling不可逆,因此使用近似的方式来反转得到max pooling操作之前的原始情况。
简单来说,记住做max pooling的时候的最大item的位置,比如一个3x3的矩阵,max pooling的size为2x2,stride为1,反卷积记住其位置,其余位置至为0就行:
更多相关内容 -
上采样,上池化,反卷积 详解
2019-06-13 11:11:061、Upsampling(上采样) ...上采样概念:上采样指的是任何可以让图像变成更高分辨率的技术。最简单的方式是重采样和插值:将输入图片进行rescale到一...2、上池化 Unpooling是在CNN中常用的来表示max pooling的逆操作...1、Upsampling(上采样)
在FCN、U-net等网络结构中,涉及到了上采样。上采样概念:上采样指的是任何可以让图像变成更高分辨率的技术。最简单的方式是重采样和插值:将输入图片进行rescale到一个想要的尺寸,而且计算每个点的像素点,使用如双线性插值等插值方法对其余点进行插值来完成上采样过程。
上采样 2、上池化
Unpooling是在CNN中常用的来表示max pooling的逆操作。这是论文《Visualizing and Understanding Convolutional Networks》中产生的思想,下图示意:
上池化 对比上面两个示意图,可以发现区别:
- 两者的区别在于UnSampling阶段没有使用MaxPooling时的位置信息,而是直接将内容复制来扩充Feature Map。第一幅图中右边4*4矩阵,用了四种颜色的正方形框分割为四个区域,每一个区域内的内容是直接复制上采样前的对应信息。
- UnPooling的过程,特点是在Maxpooling的时候保留最大值的位置信息,之后在unPooling阶段使用该信息扩充Feature Map,除最大值位置以外,其余补0。从图中即可看到两者结果的不同。
3、反卷积
在介绍反卷积之前,我们需要深入了解一下卷积,一个简单的卷积层运算,卷积参数为
示意图如下:
对于上述卷积运算,我们把上图所示的3×3卷积核展成一个如下所示的[4,16]的稀疏矩阵C,如下:
我们再把4×4的输入特征展成[16,1]的矩阵
,那么
则是一个[4,1]的输出特征矩阵,把它重新排列2×2的输出特征就得到最终的结果,从上述分析可以看出卷积层的计算其实是可以转化成矩阵相乘的。值得注意的是,在一些深度学习网络的开源框架中并不是通过这种这个转换方法来计算卷积的,因为这个转换会存在很多无用的0乘操作。
通过上述的分析,我们已经知道卷积层的前向操作可以表示为和矩阵
相乘,很容易得到卷积层的反向传播就是和
的转置相乘。
我们已经说过反卷积又被称为Transposed(转置) Convolution,我们可以看出其实卷积层的前向传播过程就是反卷积层的反向传播过程,卷积层的反向传播过程就是反卷积层的前向传播过程。因为卷积层的前向反向计算分别为乘 C和
,而反卷积层的前向反向计算分别为乘
和
,所以它们的前向传播和反向传播刚好交换过来。
下图表示一个和上图卷积计算对应的反卷积操作,其中他们的输入输出关系正好相反。如果不考虑通道以卷积运算的反向运算来计算反卷积运算的话,还可以通过离散卷积的方法来求反卷积。通过详细参考资料[1]。
4、一些反卷积的论文截图
上图为反卷积和全卷积网络为核心的语义分割网络。
图(a)是输入层;图b、d、f、h、j是不同featrue map大小的反卷积的结果;图c、e、g、i是不同featrue map大小的UnPooling结果。
参考
[1] https://buptldy.github.io/2016/10/29/2016-10-29-deconv/
[2]论文:Learning Deconvolution Network for Semantic Segmentation
-
上采样,反卷积,上池化概念区别
2018-10-08 20:49:372、上池化 Unpooling是在CNN中常用的来表示max pooling的逆操作。这是论文《Visualizing and Understanding Convolutional Networks》中产生的思想,下图示意: 上池化 对比上面两个示意图,可以发现区别...通过卷积和池化等技术可以将图像进行降维,因此,一些研究人员也想办法恢复原分辨率大小的图像,特别是在语义分割领域应用很成熟。通过对一些资料的学习,简单的整理下三种恢复方法,并进行对比。
1、Upsampling(上采样)
在FCN、U-net等网络结构中,涉及到了上采样。上采样概念:上采样指的是任何可以让图像变成更高分辨率的技术。最简单的方式是重采样和插值:将输入图片进行rescale到一个想要的尺寸,而且计算每个点的像素点,使用如双线性插值等插值方法对其余点进行插值来完成上采样过程。
上采样 2、上池化
Unpooling是在CNN中常用的来表示max pooling的逆操作。这是论文《Visualizing and Understanding Convolutional Networks》中产生的思想,下图示意:
上池化 对比上面两个示意图,可以发现区别:
- 两者的区别在于UnSampling阶段没有使用MaxPooling时的位置信息,而是直接将内容复制来扩充Feature Map。第一幅图中右边4*4矩阵,用了四种颜色的正方形框分割为四个区域,每一个区域内的内容是直接复制上采样前的对应信息。
- UnPooling的过程,特点是在Maxpooling的时候保留最大值的位置信息,之后在unPooling阶段使用该信息扩充Feature Map,除最大值位置以外,其余补0。从图中即可看到两者结果的不同。
3、反卷积
在介绍反卷积之前,我们需要深入了解一下卷积,一个简单的卷积层运算,卷积参数为
示意图如下:
对于上述卷积运算,我们把上图所示的3×3卷积核展成一个如下所示的[4,16]的稀疏矩阵C,如下:
我们再把4×4的输入特征展成[16,1]的矩阵
,那么
则是一个[4,1]的输出特征矩阵,把它重新排列2×2的输出特征就得到最终的结果,从上述分析可以看出卷积层的计算其实是可以转化成矩阵相乘的。值得注意的是,在一些深度学习网络的开源框架中并不是通过这种这个转换方法来计算卷积的,因为这个转换会存在很多无用的0乘操作。
通过上述的分析,我们已经知道卷积层的前向操作可以表示为和矩阵
相乘,很容易得到卷积层的反向传播就是和
的转置相乘。
我们已经说过反卷积又被称为Transposed(转置) Convolution,我们可以看出其实卷积层的前向传播过程就是反卷积层的反向传播过程,卷积层的反向传播过程就是反卷积层的前向传播过程。因为卷积层的前向反向计算分别为乘 C和
,而反卷积层的前向反向计算分别为乘
和
,所以它们的前向传播和反向传播刚好交换过来。
下图表示一个和上图卷积计算对应的反卷积操作,其中他们的输入输出关系正好相反。如果不考虑通道以卷积运算的反向运算来计算反卷积运算的话,还可以通过离散卷积的方法来求反卷积。通过详细参考资料[1]。
4、一些反卷积的论文截图
上图为反卷积和全卷积网络为核心的语义分割网络。
图(a)是输入层;图b、d、f、h、j是不同featrue map大小的反卷积的结果;图c、e、g、i是不同featrue map大小的UnPooling结果。
参考
[1] https://buptldy.github.io/2016/10/29/2016-10-29-deconv/
[2]论文:Learning Deconvolution Network for Semantic Segmentation
-
上采样/反卷积/上池化的区别
2021-01-20 11:24:57上采样/反卷积/上池化的区别 上采样是指将图像上采样到更高分辨率的任何技术。 最简单的方法是使用重新采样和插值。即取原始图像输入,将其重新缩放到所需的大小,然后使用插值方法(如双线性插值)计算每个点处的...图(a)表示UnPooling的过程,特点是在Maxpooling的时候保留最大值的位置信息,之后在unPooling阶段使用该信息扩充Feature Map,除最大值位置以外,其余补0。与之相对的是图(b),两者的区别在于UnSampling阶段没有使用MaxPooling时的位置信息,而是直接将内容复制来扩充Feature Map。从图中即可看到两者结果的不同。图(c)为反卷积的过程,反卷积是卷积的逆过程,又称作转置卷积。最大的区别在于反卷积过程是有参数要进行学习的(类似卷积过程),理论是反卷积可以实现UnPooling和unSampling,只要卷积核的参数设置的合理
-
上采样,反卷积,上池化区别
2019-09-28 14:19:022、上池化 Unpooling是在CNN中常用的来表示max pooling的逆操作。这是论文《Visualizing and Understanding Convolutional Networks》中产生的思想,下图示意: 对比上面两个示意图,可以发现区别: ... -
上采样、上池化、反卷积的一点理解
2019-10-09 11:17:37python进阶教程机器学习深度学习长按二维码关注进入正文上采样、反卷积、上池化概念区别通过卷积和池化等技术可以将图像进行降维,因此,一些研究人员也想办法恢复原分辨率大... -
上采样(UnSampling)、上池化(UnPooling)、反卷积(Deconvolution)与PixelShuffle(像素重组)之间的区别简介
2019-08-09 21:09:05上采样(UnSampling):即输入特征图,将其缩放到所需大小(比如2*2的宽高--->4*4的宽高),其常用方法是插值方法(如最邻近插值、双线性插值和三次插值),其中,最邻近插值效果最差,放大后的图像有很... 上池... -
上采样、反卷积、上池化的区别
2022-03-28 13:34:36上采样、反卷积、上池化的区别 最近,工作中遇到了一个小问题,就是pytorch转onnx转caffe转wk(海思相机NNIE支持的深度学习权重文件格式)的时候,最终输出的Tensor的值有些许差别,后来找到了原因:pytorch项目中... -
上采样方法综述:线性插值,转置卷积,上池化
2021-06-04 11:15:19上池化—Unpooling 参考 附录1:full模式的卷积 2. 线性插值 参考:https://zhuanlan.zhihu.com/p/110754637 线性插值用的比较多的主要有三种:最近邻插值算法、双线性插值、双三次插值(BiCubic),当然还有各种其... -
反卷积(Deconvolution)上采样(Upsampling)上池化(Unpooling)的区别——附翻译
2018-01-10 21:27:50http://blog.csdn.net/u012949263/article/details/54379996 提供了... Question: Deconvolution networks use deconvolution layers to infer sparse feature maps and filters (this is the same as convolut -
上采用、反卷积、上池化区别
2020-03-01 23:10:35对于Unet网络中的上采样,主要有三种实现形式:上采用、反卷积、上池化,通常情况应用的是反卷积。 1、Upsampling(上采样) 在FCN、U-net等网络结构中,涉及到了上采样: 上采样指的是:任何可以让 图像变成更高... -
反卷积、上采样、上池化
2019-08-06 15:32:03反卷积、上采样、上池化 反卷积、上采样、上池化图示理解,如上所示。 目前使用得最多的deconvolution有2种。 方法1:full卷积, 完整的卷积可以使得原来的定义域变大 上图中蓝色为原图像,白色为对应卷积所... -
UpPooling 上池化,UpSampling上采样,Deconvolution反卷积。
2021-09-26 11:43:10在图像分割领域,经常需要把低分辨率的feature map恢复到原始图分辨率,所以许多网络会使用upPooling上池化,upSampling上采样,Deconvolution反卷积或者其他方法。这篇文章记录这些操作的具体不同。 UpPooling 我们... -
恢复特征图分辨率的方式对比:反卷积,上池化,上采样
2019-12-03 09:22:392. 上池化(Unpooling) 3. 上采样(Upsampling) 利用 CNN 做有关图像的任务时,肯定会遇到 需要从低分辨率图像恢复到到高分辨率图像 的问题。解决方法目前无非就是 1)插值 , 2)反卷积 一般 上采样 ... -
上采样、转置卷积、上池化
2020-03-26 15:27:52双线性插值(Bi-Linear interpolation) 双立方插值(Bi-Cubic interpolation) 上池化: 在Maxpooling的时候保留最大值的位置信息,之后在unPooling阶段使用该信息扩充Feature Map,除最大值位置以外,其余补0 转置卷积... -
中国数字化可视人体鞍上池的横断面解剖与CT、MRI对照研究
2021-02-23 04:22:02目的:探讨鞍上池在中国数字化可视人体(Chinese visible human,CVH)与CT、MRI上的横断面解剖形态学表现。方法:选择做64层螺旋CT和MRI头部检查的健康志愿者各60例,获得5mm层厚横断面图像。从第2例中国数字化可视人体... -
上采样、上池化、双线性插值、反卷积梳理
2019-09-04 15:52:05这些操作有上采样(Upsampling)、上池化(Unpooling)、双线性插值、反卷积。下面对这四个进行梳理。 一、上采样(Upsampling) 上采样概念:上采样指的是任何可以让图像变成更高分辨率的技术。最简单的方式是... -
反卷积、上采样、上池化、子像素卷积的联系与区别
2018-11-01 22:53:29FCN于反卷积(Deconvolution)、上采样(UpSampling) https://blog.csdn.net/nijiayan123/article/details/79416764 反卷积(Deconvolution)、上采样(UNSampling)与上池化(UnPooling) ... -
Unpooling上池化(nn.MaxUnpool2d) (Nearest Neighbor Unpooling & Bed of Nails Unpooling)(upsampling)
2022-02-13 17:17:34Unpooling作为一种上采样的方法,与pooling看起来像是相反的操作,我们有三种方法,第一种是Nearest Neighbor,就是把相同的数据复制4个达到扩大四倍的效果,第二种是”Bed of Nails”,把数据防止在对应位置的左上... -
卷积层 池化层 反卷积 上池化 扩展卷积 门卷积
2020-04-05 23:13:10文章目录卷积层定义特点池化层特点上采样反卷积/转置卷积 卷积层 定义 首先需要了解图像是个什么东西? 通道 常用于表示图像的某种组成。一个标准数字相机拍摄的图像会有三通道 - 红、绿和蓝;你可以把它们看作是... -
pytorch中的上采样(上采样,转置卷积,上池化,PixelShuffle)
2021-02-20 09:23:45本文为转载文章,原文链接 -
unpooling(上池化),unsampling(上采样),Deconvolution(反卷积)
2019-03-07 22:14:56如图所示,以maxpooling为例,上池化在池化过程中会记录最大值所在下标,然后利用特征图填充最大值所在下标,其他位置填0,特征图一般为maxpooling后得到的最大值矩阵。 unsampling 上采样并不像上池化那样记录最大值... -
反卷积(Deconvolution)上采样(Upsampling)上池化(Unpooling)的区别
2017-01-12 17:24:37原文链接见下:https://www.quora.com/What-is-the-difference-between-Deconvolution-Upsampling-Unpooling-and-Convolutional-Sparse-Coding Question: Deconvolution networks use deconvolution layers to ... -
反卷积,上采样,上池化的理解
2022-03-12 00:36:58向AI转型的程序员都关注了这个号 机器学习AI算法工程 公众号:datayx 上采样与上池化 图示理解,使用三张图进行说明: 图(a... 附录 反卷积(Deconvolution)、上采样(UNSampling)与上池化(UnPooling)、可视化代码: ... -
反卷积(Deconvolution)、上采样(UNSampling)与上池化(UnPooling)
2019-06-10 10:41:58反卷积(Deconvolution)、上采样(UNSampling)与上池化(UnPooling)相关代码和可视化代码在附录 反卷积(Deconvolution) 反卷积(转置卷积、空洞卷积(微步卷积))近几年用得较多,可以概括为:反卷积=上采样=(转置...