上采样下采样_物表采样的正确方法图片「建议收藏」

上采样下采样_物表采样的正确方法图片「建议收藏」图像处理中的上采样和下采样下采样下采样即缩小图像,主要有两个目的:使得图像符合需要的大小;生成对应图像的缩略图

上采样下采样_物表采样的正确方法图片「建议收藏」

图像处理中的上采样和下采样


下采样

下采样即缩小图像,主要有两个目的:使得图像符合需要的大小;生成对应图像的缩略图。
下采样的原理很简单,比如对于一幅尺寸为MxN的图像,对其进行s倍下采样,即得到(M/s)x(N/s)尺寸的图像。这可以通过把原始图像划成sxs的窗口,使每个窗口内的图像变成一个像素,这个像素点的值可以是窗口内所有像素的均值或者最大值等等。另外我认为高斯滤波等卷积方式本身也是一种下采样。


上采样

上采样与下采样相反,其目的是放大图像。注意,它并不能带来更多关于该图像的信息,因此图像的质量会受到影响。
上采样的实现主要有两种思路。一种是内插值的方法,另一种是采用反卷积(也称转置卷积)的方法。

注:还有一种现在已经比较少用的方法也就是反池化,想了解的话可以看一下computer-vision笔记:反池化。


插值方法

  1. 最邻近元法

    这种方法最简单,不需要计算,即在待求像素的四个邻像素中,选取距离待求像素最近的邻像素的灰度值赋给待求像素。

    最邻近元法

    如上图所示,新增在A区内的像素就用左上角的像素点来赋值,其余三个区域同理。
    虽然最邻近元法计算量较小,但可能会造成插值生成的图像灰度上的不连续,在灰度变化的地方可能会出现明显的锯齿状。

  2. 双线性插值法

    双线性插值法

    这种方法也很好理解,就是把原本四个像素点围成的新的区域中的灰度值变化视作线性的,然后根据插入点的位置,按照比例计算两次,得到最终要赋的值。

    看成线性按照比例

    这也是一种比较常用的插值方法。

  3. 三次内插法

    该方法是理论上最优的sinc函数(辛格函数)逼近,其数学表达式为:Sinc(x)=sin(x)xSinc(x)=sin(x)x
    待求像素的灰度值由其周围16个灰度值加权内插得到,如下图所示。

    三次内插法

    待求像素的灰度计算式如下:

    f(x,y)=f(i+u,j+v)=ABCf(x,y)=f(i+u,j+v)=ABC

    其中ABCABC的含义分别如下所示。

    各项表示

    三次内插法计算量比较大,但插值后的图像效果最好。


反卷积

反卷积通常用于如下几个方面:在CNN可视化处理中,可以通过反卷积将卷积得到的feature map还原到像素空间,来观察feature map对哪些pattern相应最大,即可视化哪些特征是卷积操作提取出来的;在FCN全卷积网络中,由于要对图像进行像素级的分割,需要将图像尺寸还原到原来的大小,类似upsampling的操作,所以需要采用反卷积;在GAN对抗式生成网络中,由于需要从输入图像到生成图像,自然需要将提取的特征图还原到和原图同样尺寸的大小,即也需要反卷积操作。
为了方便理解和比较,我们将卷积和反卷积对照着看。
我们先来看卷积时使用3×3卷积核,且没有padding,strides为1时的情况。

卷积

反卷积

可以看到,由于卷积使用了no padding,那么对应的反卷积就要添加padding,反卷积的padding值可用padding = kernel_size - stride来计算。在上面的情况中,反卷积的padding就是3减1等于2。
前面说到反卷积也称转置卷积,这里说一下原因。
对于上面3×3卷积核的计算,我们可以通过这样一个4×16的稀疏矩阵来把卷积变成矩阵相乘Y=CXY=CX。

稀疏矩阵

注意到这里每一行有9个数值和7个0,也就是说在上面4×4的输入特征中,对每一个输出特征,有9个输入特征参与了计算。
如此,卷积的前向操作可以表示为输入和稀疏矩阵CC相乘。类似的,卷积的反向传播就是输出和CC的转置相乘。

注意:熟悉线性代数的读者应该会发现,要实现上面的运算,不应该是求矩阵的逆吗。信息论告诉我们,卷积是不可逆的,因此要注意,上面的两个CC指的并不是同一个,即用来进行反卷积的权重矩阵不一定来自于原卷积矩阵,但该权重矩阵的形状和转置后的原卷积矩阵完全相同。
此外,在一些深度学习的开源框架中,并不是通过这种转换方法来计算卷积的,因为这个转换会存在很多无用的0乘操作。

还有一个要注意的是,当卷积的stride为2时,要对输入矩阵中间补零才能完成反卷积,其实相当于进行了两次padding,一次内插补零,一次在外圈补零。

步长为2卷积

步长为2反卷积

今天的文章上采样下采样_物表采样的正确方法图片「建议收藏」分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/74242.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注