上采样

语义分割/实例分割等任务,由于需要提取输入图像的高层语义信息,网络的特征图尺寸一般会先缩小,进行聚合;这类任务一般需要输出于原始图像大小一致的像素级分割结果,因而需要扩张较小的特征图这就用到了上采样

上采样常见方法

常见上采样方法有双线性插值、转置卷积、unpooling
常用的是双线性插值和转置卷积

双线性插值

双线性插值:顾名思义就是在两个方向分别进行一次线性插值(要求一个坐标的像素值,先去找他四个周围已知像素的坐标,通过两次单线性插值,得到他的像素值)

单线性插值


将距离作为权重对y0与y1进行加权

双线性插值

已知的红色数据点与待插值得到的绿色点

假如我们想得到未知函数 f 在点P= (x,y) 的值,假设我们已知函数f在Q11 = (x1,y1)、Q12 = (x1,y2),Q21 = (x2,y1) 以及Q22 = (x2,y2) 四个点的值。

首先在x方向进行线性插值,得到R1和R2,然后在y方向进行线性插值,得到P.
这样就得到所要的结果f(x,y).

其中红色点Q11,Q12,Q21,Q22为已知的4个像素点.

第一步:X方向的线性插值,在Q12,Q22中插入蓝色点R2, Q11,Q21中插入蓝色点R1;
第二步 :Y方向的线性插值 ,通过第一步计算出的R1与R2在y方向上插值计算出P点。

线性插值的结果与插值的顺序无关。首先进行y方向的插值,然后进行x方向的插值,所得到的结果是一样的。双线性插值的结果与先进行哪个方向的插值无关


转置卷积

转置卷积(Transposed Convolution) 在语义分割或者对抗神经网络(GAN)中比较常见,其主要作用就是做上采样(UpSampling


对于普通的卷积操作可以形式化为一个矩阵乘法运算
其中卷积核可以通过一个稀疏矩阵表示,其是由卷积核,滑动步长决定的常对角矩阵,维度为d1*d2 (d1为输出的维度(展平为一维向量的形式);d2为输入的维度(展平为一维向量的形式))


每一行向量表示在一个位置的卷积操作,0填充表示卷积核未覆盖到的区域。
将输入X展平为向量则:


同时根据矩阵运算的求导知识可以知道
转置卷积的信息正向传播与普通卷积的误差反向传播所用的矩阵相同
普通卷积的信息正向传播与转置卷积的误差反向传播所用矩阵相同

由上可知转置卷积就是一个对输入数据进行适当变换(上采样/补零)的普通卷积操作
在具体实现是对应的卷积操作如下:
(S表示滑动步长(Sw,Sh),K表示转置卷积核大小,P表示转置卷积的padding)

  • 对输入的特征图进行扩张(上采样):相邻的数据点之间,在水平方向填充Sw-1个零,在垂直方向填充Sh-1个零
  • 对输入特征图进行边界填充:四周分别填充K-P-1零行
  • 将卷积核参数上下、左右翻转
  • 做正常卷积运算

unpooling

unpooling记录了原来pooling是取样的位置,在unpooling的时候将输入feature map中的值填充到原来记录的位置上,而其他位置则以0来进行填充。

下采样

下采样通常来讲也叫做抽取,比如从多数集中抽取少部分
下采样在图像领域实际上就是缩小图像,主要目的是为了使得图像符合显示区域的大小,生成对应图像的缩略图。比如说在CNN中的池化层或卷积层就是下采样。不过卷积过程导致的图像变小是为了提取特征,而池化下采样是为了降低特征的维度。

下采样层有两个作用:
一是减少计算量,防止过拟合;
二是增大感受野,使得后面的卷积核能够学到更加全局的信息。

下采样常见方法

1 池化:如Max-pooling和Average-pooling,目前通常使用Max-pooling,因为他计算简单而且能够更好的保留纹理特征;
2 卷积

到底什么是上采样、下采样相关推荐

  1. 深度学习上采样下采样概念以及实现

    #pic_center =400x 系列文章: 文章目录 参考博客 概念 上采样 下采样 实现 上采样 下采样 参考博客 [深度学习]上采样,下采样,卷积 torch.nn.functional.in ...

  2. 降采样,下采样,池化

    概念 缩小图像(或称为下采样(subsampled)或降采样(downsampled))的主要目的有两个:1.使得图像符合显示区域的大小:2.生成对应图像的缩略图. 放大图像(或称为上采样(upsam ...

  3. 过采样与欠采样图像重采样(上采样下采样)

    参考文章: https://blog.csdn.net/majinlei121/article/details/46742339 https://blog.csdn.net/Chaolei3/arti ...

  4. 重采样 上采样 下采样

    重采样的原理: 重采样主要是分为上采样和下采样,在进行采样的过程中,需要注意采样的倍率的问题,并不是可以随意的改变采样率的大小的,根据采样定理:在进行模拟/数字信号的转换过程中,当采样频率fs.max ...

  5. 卷积 反卷积 上采样 下采样 区别

    1.卷积 就是利用卷积核  步长前进 卷积整个图片 2.反卷积 反卷积的具体操作 原图输入尺寸为[1,3,3,3]对应[batch_size,channels,width,height] 反卷积tco ...

  6. python下采样_python + opencv 如何在上采样下采样之后导出图片?

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 import cv2 def pyramid_demo(image): level = 3 temp = image.copy() pyramid_ima ...

  7. opencv隔点采样(下采样)

    1.先验知识 对灰度图像来说,img.step[0]代表图像一行的的长度:img.step[0]=img.cols; img.step[1]代表图像一个元素的数据大小:img.step[0]=img. ...

  8. opencv:用最邻近插值和双线性插值法实现上采样(放大图像)与下采样(缩小图像)

    上采样与下采样 概念: 上采样: 放大图像(或称为上采样(upsampling)或图像插值(interpolating))的主要目的 是放大原图像,从而可以显示在更高分辨率的显示设备上. 下采样: 缩 ...

  9. 彻底分清机器学习中的上采样、下采样、过采样、欠采样【总结】

    今天看了篇中文的硕士论文,读着读着感觉有点奇怪,仔细一看原来他把下采样和欠采样搞混了,这里笔者就详细区分一下各个名称的概念. 文章目录 1. 上采样&下采样 2.过采样&欠采样 3.信 ...

最新文章

  1. 【组队学习】【28期】基于Python的会员数据化运营
  2. Commun. Biol. | 人工智能加速抗生素发现
  3. hanganalyz 性能诊断工具
  4. MFC使用OpenCV在文档窗口中显示图像(支持多图片格式)
  5. php 读文件返回字符串,PHP:file_get_contents('php:// input')返回JSON消息的字符串...
  6. 【视频版】最新版Swagger 3升级指南和新功能体验!
  7. 蚂蚁金服ATEC城市峰会上海举行,三大发布迎接金融科技2019
  8. 对于python初学者,如何使用python定义联合(使用ctypes)?
  9. 七步从Angular.JS菜鸟到专家(1):如何开始【转】
  10. 怎么打公式_我们总结了一条抖音爆款公式
  11. JAVA生成pdf文件
  12. 脑电数据预处理,eeglab预处理采集的SSVEP数据
  13. 变频器LED显示灯闪烁_图文并茂,彻头彻尾认识变频器,适合初学者!
  14. 计算机课外兴趣小组活动教案,科技兴趣小组教案
  15. Android中EditText去掉下划线的方法
  16. 如何写一个Vue自定义指令
  17. IT界的复仇者联盟解读
  18. HCI实验spss数据分析
  19. Python调用百度AI识别身份证
  20. DiscuzX2.5模板样式表-common.css

热门文章

  1. 解决Failed to start component [StandardEngine[Catalina].StandardHost[localhost].错误的方法
  2. 5月8日-5月14日
  3. 190行LUA撸撸撸了一天。
  4. 计算机辅助教学出现在哪个时期,2013年1月自学考试小学数学教学论试题
  5. 计算机作业我家乡的变化英语作文,家乡的变化英语作文3篇
  6. ORACLE ---注释,默认值,同义词
  7. vue2项目中如何接入视频监控
  8. 远程控制电脑软件哪个好用?
  9. Java API连接HBase
  10. 【C++笔试强训】第三十二天