上采样,下采样,卷积,反卷积,池化,反池化,双线性插值【基本概念分析】

这篇具有很好参考价值的文章主要介绍了上采样,下采样,卷积,反卷积,池化,反池化,双线性插值【基本概念分析】。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、上采样

1.概念

上采样(upsampling):又名放大图像、图像插值;

主要目的是放大原图像,从而可以显示在更高分辨率的显示设备上;

上采样有3种常见的方法:双线性插值(bilinear),反卷积(Transposed Convolution),反池化(Unpooling);

2.原理

图像放大几乎都是采用内插值方法,即在原有图像像素的基础上在像素点之间采用合适的插值算法插入新的元素。
插值算法还包括了传统插值,基于边缘图像的插值,还有基于区域的图像插值。

二、下采样

1.概念

下采样(subsampled):又名降采样、缩小图像;

主要目的有两个:1、使得图像符合显示区域的大小;2、生成对应图像的缩略图;

其实下采样就是池化;

2.原理

对于一副图像Ⅰ尺寸为MN,对其进行s倍下采样,即得到(M/s)(N/s)尺寸的分辨率图像,当然,s应该是M和N的公约数才可以;
如果考虑是矩阵形式的图像,就是把原始图像s*s窗口内的图像变成一个像素,这个像素点的值就是窗口内所有像素的均值或者最大值(也就是Pooling池化操作等)。
对图像的缩放操作并不能带来更多关于该图像的信息, 因此图像的质量将不可避免地受到影响。然而,确实有一些缩放方法能够增加图像的信息,从而使得缩放后的图像质量超过原图质量的。
Pk = Σ Ii / s2
其实下采样就是池化。
采样层是使用 pooling 的相关技术来实现的,目的就是用来降低特征的维度并保留有效信息,一定程度上避免过拟合;
但是pooling的目的不仅仅是这些,他的目的是保持旋转、平移、伸缩不变形等。采样有最大值采样,平均值采样,求和区域采样和随机区域采样等;
池化也是这样的,比如最大值池化,平均值池化,随机池化,求和区域池化等。

三、卷积与反卷积

卷积神经网络中的卷积操作可以看做是输入和卷积核的内积运算。其运算过程非常容易理解,下面有举例。

一次卷积运算指的是:如下图,当我们有一个过滤器(黄色矩阵块)与卷积核相乘;

移动输入图片子区域,将这个方块对应要处理的输入矩阵的一部分,位置一一对应卷积核相乘,然后把结果再相加得到一个数;

1)输入是一个 5 ∗ 5 5*5 55的图片,其像素值如下:
[ 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 0 0 1 1 0 0 1 1 0 0 ] \begin{bmatrix} 1& 1& 1& 0& 0\\ 0& 1 & 1 & 1 &0 \\ 0& 0& 1& 1 & 1\\ 0& 0& 1& 1 & 0\\ 0& 1& 1& 0 &0 \end{bmatrix} 1000011001111110111000100
2)卷积核(kernel是需要训练的参数,这里为了讲解卷积运算的操作,所以最开始我们假设卷积核的值如下:
[ 1 0 1 0 1 0 1 0 1 ] \begin{bmatrix} 1& 0 & 1\\ 0& 1& 0\\ 1& 0 &1 \end{bmatrix} 101010101
3)通过窗口和卷积核的内积操作得到的结果叫做feature map。
机器学习 什么是上采样,CV,深度学习,cnn,人工智能,图像处理
图片来源:Convolution schematic

如下图所示(对应的是上面提到的数据),我们在输入图片上框出一个和卷积核相同大小的区域,基于此计算子区域和卷积核对应元素乘积之和:
机器学习 什么是上采样,CV,深度学习,cnn,人工智能,图像处理
1 ∗ 1 + 1 ∗ 0 + 1 ∗ 1 + 0 ∗ 0 + 1 ∗ 1 + 1 ∗ 0 + 0 ∗ 1 + 0 ∗ 0 + 1 ∗ 1 = 4 1∗1+1∗0+1∗1+0∗0+1∗1+1∗0+0∗1+0∗0+1∗1=4 11+10+11+00+11+10+01+00+11=4
是黄色输入矩阵行与卷积核的列分别相乘的结果。
所以feature map的第一个元素值为4。后面计算类似。

上面这幅图是对一个 5 ∗ 5 5*5 55的矩阵进行 3 ∗ 3 3*3 33的矩阵的卷积;

那么就从左上角到右下角,生成卷积之后的矩阵的大小是(5-3+1)*(5-3+1)的矩阵,生成之后的矩阵的元素值,是之前的两个矩阵对应元素的乘积之和;

更进一步的卷积与反卷积内容参考这篇博客:https://blog.csdn.net/quiet_girl/article/details/84579038

四、池化

池化最直观的作用便是降维,常见的池化有最大池化、平均池化和随机池化;池化层不需要训练参数;
最大池化是对局部的值取最大;平均池化是对局部的值取平均;随机池化是根据概率对局部的值进行采样,采样结果便是池化结果。

  • 最大池化可以获取局部信息,可以更好保留纹理上的特征;如果不用观察物体在图片中的具体位置,只关心其是否出现,则使用最大池化效果比较好。
  • 平均池化往往能保留整体数据的特征,能凸出背景的信息。
  • 随机池化中元素值大的被选中的概率也大,但不是像最大池化总是取最大值。随机池化一方面最大化地保证了Max值的取值,一方面又确保了不会完全是max值起作用,造成过度失真;除此之外,其可以在一定程度上避免过拟合。

如下图,左侧是 4 ∗ 4 4*4 44的矩阵,要进行大小为 2 ∗ 2 2*2 22的池化;

Max pooling,即对邻域内特征点只求最大值;

Average pooling,即对邻域内特征点只求平均值;
机器学习 什么是上采样,CV,深度学习,cnn,人工智能,图像处理

五、反池化

池化操作中最常见的最大池化和平均池化,因此最常见的反池化操作有反最大池化和反平均池化,其示意图如下:
机器学习 什么是上采样,CV,深度学习,cnn,人工智能,图像处理

反最大池化需要记录池化时最大值的位置,反平均池化不需要此过程。

六、双线性插值

在两个方向分别进行一次线性插值(首先在一个方向上使用线性插值,然后再在另一个方向上使用线性插值执行双线性插值。尽管每个步骤在采样值和位置上都是线性的,但是插值总体上不是线性的,而是在采样位置上是二次的。)

1.意义

双线性插值减少了由于将图像调整大小为非整数缩放因子而导致的某些视觉失真。

2.作用

一般用于重新采样图像和纹理。
计算四个周围纹理像素的属性(颜色,透明度等)的加权平均值,并将其应用于屏幕像素。
(简单来说,要求一个已知坐标的像素值,先去找他四个周围已知像素的坐标,通过两次单线性插值,找到他的像素值是多少)

3.单线性插值

机器学习 什么是上采样,CV,深度学习,cnn,人工智能,图像处理
用x和x0,x1的距离作为一个权重,用于y0和y1的加权。双线性插值本质上就是在两个方向上做线性插值。

4.双线性插值的公式

机器学习 什么是上采样,CV,深度学习,cnn,人工智能,图像处理
如图所示,我们需要求P点的像素值。我们已知了Q11、Q21、Q12、Q22、P的坐标。也知道Q11、Q21、Q12、Q22的像素值。所以先用关于X的单线性插值去分别计算R1、R2的像素值:
机器学习 什么是上采样,CV,深度学习,cnn,人工智能,图像处理
在右边的等式中的字母f(Q11)、f(Q12)、f(Q21)、f(Q22)、x1、x2、x都是已知的,求出的f(x,y1)与f(x,y2)即为R1、R2的像素值。
再使用关于y方向的单线性插值计算P点的像素值得出:
机器学习 什么是上采样,CV,深度学习,cnn,人工智能,图像处理
在右边的等式中的字母y1、y2、y都是已知的,f(x,y1)与f(x,y2)即为上一个式子中求出的R1、R2像素值。可以得出答案f(x,y)。

5.双线性插值的例子

机器学习 什么是上采样,CV,深度学习,cnn,人工智能,图像处理
如上图所示,可以通过在第20行和第21行的第14列和第15列的值之间进行线性内插,来计算计算为在第20.2行第14.5列处的像素处的强度值.(这里也正好说明了一般使用最相邻的像素点)
机器学习 什么是上采样,CV,深度学习,cnn,人工智能,图像处理
双线性插值的直观展示:
机器学习 什么是上采样,CV,深度学习,cnn,人工智能,图像处理
这里的是平面的双线性插值(Bilinear)

参考链接:
111
https://blog.csdn.net/quiet_girl/article/details/84579038
333文章来源地址https://www.toymoban.com/news/detail-754530.html

到了这里,关于上采样,下采样,卷积,反卷积,池化,反池化,双线性插值【基本概念分析】的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 深度学习基本理论下篇:(梯度下降/卷积/池化/归一化/AlexNet/归一化/Dropout/卷积核)、深度学习面试

    深度学习面试必备 1:(MLP/激活函数/softmax/损失函数/梯度/梯度下降/学习率/反向传播/深度学习面试 深度学习面试必备 2:(梯度下降/卷积/池化/归一化/AlexNet/归一化/Dropout/卷积核/深度学习面试 深度学习面试必备 3 :物体检测(Anchor base/NMS/softmax/损失函数/BCE/CE/zip) Momentum、

    2024年02月12日
    浏览(49)
  • 基于python实现最近邻插值双线性插值径向基函数插值(代码实现详细教程)

    三种插值方法都是使用Python自己实现的。 寻找每个中心点周围的八个点中有无未丢失的点,如果有的话就赋值为第一个找到的点,如果没有就扩大范围再次寻找,在最大范围内都找不到的话就跳过。 使用解方程的方法求解,整体思路类似colorization作业的实现,每个点用周围

    2024年02月07日
    浏览(37)
  • 双线性插值简介及C++代码实现

    双线性插值是指现在某个方向进行两次线性插值,之后在另外一个方向对插值的结果再进行一次线性插值。以下图为例,已知 Q 11 Q_{11} Q 11 ​ , Q 12 Q_{12} Q 12 ​ , Q 21 Q_{21} Q 21 ​ , Q 22 Q_{22} Q 22 ​ 四个点的坐标和像素值、 P P P 点的坐标,求 P P P 点的像素值。双线性插值的

    2024年02月07日
    浏览(41)
  • 双线性插值(Bilinear interpolation)原理推导

    https://en.wikipedia.org/wiki/Bilinear_interpolation 双线性插值,又称为双线性内插。在数学上,双线性插值是对线性插值在二维直角网格上的扩展,用于对双变量函数(例如 x 和 y)进行插值。其核心思想是在x,y两个方向分别进行一次线性插值。 线性插值可以查看 之前的博客文章。

    2024年02月16日
    浏览(39)
  • 深度学习基础知识 最近邻插值法、双线性插值法、双三次插值算法

    最邻近插值:将每个目标像素找到距离它最近的原图像素点,然后将该像素的值直接赋值给目标像素 优点 :实现简单,计算速度快 缺点 :插值结果缺乏连续性,可能会产生锯齿状的边缘,对于图像质量影响较大,因此当处理精度要求较高的图像时,通常会采用更加精细的插

    2024年02月03日
    浏览(53)
  • 图片双线性插值原理解析与代码 Python

    图片插值是图片操作中最常用的操作之一。为了详细解析其原理,本文以 3×3 图片插值到 5×5 图片为例进行解析。如上图左边蓝色方框是 5×5 的目标图片,右边红色方框是 3×3 的源图片。上图中,蓝/红色方框是图片,图片中的蓝/红色小圆点是图片中的像素,蓝/红色实线箭头

    2024年02月02日
    浏览(49)
  • 在 FPGA 上如何实现双线性插值的计算?

    作者 | 殷庆瑜  责编 | 胡巍巍 目录 一、概述 二、What?什么是双线性插值? 二、Why?为什么需要双线性插值? 三、How?怎么实现双线性插值? 关键点1 像素点选择 关键点2 权重计算 升级1 通过查表减少计算量 升级2 通过数据锁存减少取数周期 升级3 通过换数信号兼容更多分

    2024年02月08日
    浏览(39)
  • 数字图像处理(十三)图像放大及双线性插值算法

    图像放大是日常学习中经常要用到的两个算法,我们首先讨论缩放的流程以及放大时如何优化双线性插值算法。 采用国际标准测试图像Lena,为了方便,我们将读入的彩色图转为灰度图进行缩放。 和图像缩小不同,图像放大是小数据量到大数据量的处理过程,因此需要对许多

    2024年02月05日
    浏览(48)
  • 九.图像处理与光学之图像几何变换算法(双线性插值)

    ​ 图像几何变换是图像处理中非常基础实用的技能,主要包括图片位移、缩放、镜像、剪切、放射变换等,在对图像进行空间变换的过程中,典型的情况是在对图像进行放大,旋转处理的时候,图像会出现失真的现象。这是由于在变换之后的图像中,存在着一些变换之前的图

    2024年02月13日
    浏览(46)
  • 《数字图像处理》实验之对图像进行双线性(bilinear)插值缩放

     最近数字图像处理的实验课,老师让我们实现 对图像进行双线性(bilinear)插值缩放 ,以下是原理和代码。 一、双线性插值缩放 1、图像几何变换的一般流程: ①确定变换后新图像的大小 ②对新图像的每一个像素,确定其在旧图像坐标中的对应位置(逆变换) ③确定旧图像

    2024年02月07日
    浏览(79)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包