上采样 及 Sub-pixel Convolution (子像素卷积)
参考:https://blog.csdn.net/leviopku/article/details/84975282
参考:https://blog.csdn.net/g11d111/article/details/82855946
上采样的概念:
上采样可以理解为任何可以将图像变成更高分辨率的技术;最简单的方式就是重采样和插值法:将输入图片 input image 进行 rescale 到一个想要的尺寸;而且计算每个点的像素点,使用如双线性插值bilinear 等插值方法对其余点进行插值;
Unpooling 是在CNN中常用来表示max pooling 的逆操作。由2013年纽约大学Matthew D. Zeiler和Rob Fergus发表的《Visualizing and Understanding Convolutional Networks》引用:因为max pooling 不可逆,因此使用近似操作得到 max pooling 操作之前的原始情况;(记住max pooling做的时候的size,比如如下图的4x4的矩阵,max pooling的size 为2x2, stride为2,反卷积操作需要记住最大值的位置,然后将其余的位置置为0就可以)
反卷积在CNN中常用于表示一种反向卷积,但是它并不是一个完全符合数学规定的反卷积操作;
与Unpooling不同,使用反卷积来对图像进行上采样是可以习得的。通常用来对卷积层的结果进行上采样,使其回到原始图片的分辨率;
反卷积也被称为分数步长卷积或者转置卷积或者后向卷积;
早PyTorch中,上采样的层被封装在torch.nn中的Vision Layers里面,一共有4中:
1、PixelShuffle
2、Upsample
3、UpsampleNearest2d
4、UpsamplingBilinear2d
其中,PixelShuffle表示如下:
Sub-pixel convolution 是一种巧妙的图像及特征图upscale的方法,又叫pixel shuffle(像素洗牌)。我们知道,用深度学习处理图像的话,经常需要对特征图放大。常见的方法有直接上采样,双线性插值,反卷积等。本文主要介绍一种在超分辨率中经常使用的 upscale 方法 —— sub-pixel convolution.
采用CNN对feature map 进行放大的方法,除了有 deconvolition 之外,还有一个叫做 sub- pixel convolution 。如果做SR(超分辨率)的话,需要将一张低分辨率图像转换成一张高分辨率图像。如果直接用 deconvolution 作为 upscale 手段的话,通常会带入过多人工因素进来。而 sub-pixel conv 会大大降低这个风险。先看 sub-pixel 是怎么做的:
前面就是一个普通的CNN网络,到后面的彩色部分就是 sub- pixel conv 的操作了。首先如果对原图放大3倍,那么就要生成3^2=9 (通道数)个相同尺寸的特征图。然后将9个相同尺寸的特征图拼接成一个x3的大图,也就是对应的 sub - pixel convolution 操作;
其实也就是要放大r倍的话,那就生成r方个channel的特征图,这里的r也可以称为上采样因子;
这对应的是抽样的反思想,如果把一张 x3 的大图,每隔三个点抽样依次,那么就得到9张低分辨率的图像;于是就可以通过CNN来获得这么9张低分辨率的图像,然后再组成一张高分辨率大图;
上采样 及 Sub-pixel Convolution (子像素卷积)的更多相关文章
- pytorch torch.nn 实现上采样——nn.Upsample
Vision layers 1)Upsample CLASS torch.nn.Upsample(size=None, scale_factor=None, mode='nearest', align ...
- 上采样和PixelShuffle(转)
有些地方还没看懂, mark一下 文章来源: https://blog.csdn.net/g11d111/article/details/82855946 去年曾经使用过FCN(全卷积神经网络)及其派 ...
- 图像的下采样Subsampling 与 上采样 Upsampling
I.目的 缩小图像(或称为下采样(subsampled)或降采样(downsampled))的主要目的: 1.使得图像符合显示区域的大小: 2.生成对应图像的缩略图. 放大图像(或称为上采样(ups ...
- 【转】图像的上采样(upsampling)与下采样(subsampled)
转自:https://blog.csdn.net/stf1065716904/article/details/78450997 参考: http://blog.csdn.net/majinlei121 ...
- 图像的上采样(upsampling)与下采样(subsampled)
缩小图像(或称为下采样(subsampled)或降采样(downsampled))的主要目的有两个:1.使得图像符合显示区域的大小:2.生成对应图像的缩略图. 放大图像(或称为上采样(upsampli ...
- upsampling(上采样)& downsampled(降采样)
缩小图像 缩小图像(或称为下采样(subsampled)或降采样(downsampled))的主要目的是两个: 使得图像符合显示区域的大小: 生成对应图像的缩略图: 下采样的原理: 对于一幅图像尺寸为 ...
- 卷积和池化的区别、图像的上采样(upsampling)与下采样(subsampled)
1.卷积 当从一个大尺寸图像中随机选取一小块,比如说 8x8 作为样本,并且从这个小块样本中学习到了一些特征,这时我们可以把从这个 8x8 样本中学习到的特征作为探测器,应用到这个图像的任意地方中去. ...
- pytorch 不使用转置卷积来实现上采样
上采样(upsampling)一般包括2种方式: Resize,如双线性插值直接缩放,类似于图像缩放,概念可见最邻近插值算法和双线性插值算法——图像缩放 Deconvolution,也叫Transpo ...
- 轻量级通用上采样算子-CARAFE
转载:https://zhuanlan.zhihu.com/p/76063768 前言 这篇论文被 ICCV 2019 接收为 oral presentation.之前我们主要研究物体检测(例如 Hy ...
随机推荐
- DocX 在文档中插入图片时,为什么不能按实际设置的大小插入,而Spire.Doc却可以
我的目标目标要求:将一个图片插入到页面中,页面边界为0,使用下面的代码去实现(button1UseDocX_Click函数),生成的文档不能达到目的.而使用Spire.Doc却能达到目的button1 ...
- Docker】如何修改Docker的默认镜像存储位置
江湖有多大,坑就有多多……我使用的服务器, 系统盘根目录只有20G, 默认Docker 的镜像文件是安装在/var/lib/docker 目录下的, 这样的话我根本装不了太多的镜像,之前遇到一种情况就 ...
- 【VS开发】 自己编写一个简单的ActiveX控件——详尽教程
最近开始学ActiveX控件编程,上手不太容易,上网想找相关教程也没合适的,最后还是在师哥的指导下完成了第一个简单控件的开发,现在把开发过程贴出来与大家分享一下~ (环境说明--平台:vs2005:语 ...
- ERROR 1709 (HY000): Index column size too large. The maximum column size is 767 bytes.
MySQL版本5.6.35 在一个长度为512字符的字段上创建unique key报错 CREATE DATABASE dpcs_metadata DEFAULT CHARACTER SET utf8 ...
- Spring Cloud 使用Feign调用服务传递Header中的参数
1.使用Feign 调用其他微服务,尤其是在多级调用的同时,需要将一些共同的参数传递至下一个服务,如:token.比较方便的做法是放在请求头中,在Feign调用的同时自动将参数放到restTempla ...
- 【转】mysql卸载(windows)
作者:cxy_Summer 来源:CSDN 原文:https://blog.csdn.net/cxy_Summer/article/details/70142322 版权声明:本文为博主原创文章,转载 ...
- 【洛谷P1886】滑动窗口——单调队列
没想到啊没想到,时隔两个月,我单调队列又懵了…… 调了一个小时,最后错在快读,啊!!!!(不过洛谷讨论真好啊,感谢大佬!) 考前就不推新东西了,好好写写那些学过的东西 题目点这里(我就不粘了自己点一下 ...
- Callable+ThreadPoolExecutor实现多线程并发并获得返回值(转)
出处:https://blog.csdn.net/kity9420/article/details/80740466 前言 经常会遇到一些性能问题,比如调用某个接口,可能要循环调用100次,并且需要拿 ...
- java springmvc poi 导出Excel,先简单记录,后期会详细描写
POI jar包下载 : http://poi.apache.org/download.html jsp代码 <%@ page language="java" content ...
- BZOJ 3118 Orz the MST
权限题qwq 如果我们要使得某棵生成树为最小生成树,那么上面的边都不能被替代,具体的,对于一个非树边,它的权值要\(\ge\)它两端点在树上的路径上的所以边的权值,所以对于每个非树边就可以对一些树边列 ...