基于深度学习的高分辨率重建上采样算法总结
上采样实际上就是放大图像,指的是任何可以让图像变成更高分辨率的技术。它有反卷积(Deconvolution,也称转置卷积)、上池化(UnPooling)方法、双线性插值(各种插值算法)。下采样实际上就是缩小图像,主要目的是为了使得图像符合显示区域的大小,生成对应图像的缩略图。比如说在CNN中的池化层或卷积层就是下采样。不过卷积过程导致的图像变小是为了提取特征,而池化下采样是为了降低特征的维度。
1、【ESPCN】低分辨率feature maps的上采样方法:pixelshuffle
ESPCN的核心概念是亚像素卷积层(sub-pixel convolutional layer)。网络的输入是原始低分辨率图像,通过三个卷积层以后,得到的特征为r^2WH ,其中WH与输入图像大小相同,再将特征图像每个像素的 r^2个通道重新排列成一个 r*r 的区域,即将r^2WH特征经过重排得到rW*rH的输出,实现了图像r倍上采样。
pixel_shuffle = torch.nn.PixelShuffle(r)
output = pixel_shuffle(input)
其中r为上采样倍率。输入输出如下:
比如input的shape是(1, 64, 20, 30), r = 2,
而这个shape对应的是(1, r2C, H, W), 也就是r2C = 2x2xC = 64, 所以C=16,
所以output应该是(1, C, rH, rW),也就是(1, 16, 40, 60)
例如,有r2个channel, 把这些channel铺成 r x r的一个大像素,假如r = 3,那么output中一个pixel有9个channel,它对应右边SR图像中一个3x3的大像素(注意看颜色的对应)。回到r,每个pixel有r2个channel,把它铺平,成为一个r x r的SR大像素,所以(r2C, H x W)就成了(C, r x r x H x W), 也就是(C, rH, rW)
2、【FRCNN】ConvTranspose2d原理,上采样方法
ConvTranspose2d是其中一个扩大图像尺寸的方法(逆卷积)
self.last_part = nn.ConvTranspose2d(d, num_channels, kernel_size=9,
stride=scale_factor, padding=9//2,output_padding=scale_factor-1)
当给一个特征图a, 以及给定的卷积核设置,我们分为三步进行逆卷积操作:
第一步:对输入的特征图a进行一些变换,得到新的特征图a’
第二步:求新的卷积核设置,得到新的卷积核设置,后面都会用右上角加撇点的方式区分
第三步:用新的卷积核在新的特征图上做常规的卷积,得到的结果就是逆卷积的结果,就是我们要求的结果。
(1)新的特征图通过插值得到,插在原先高度方向的每两个相邻中间插上" Stride-1"列0。我们知道对于输入为 Height 的特征图来说有 Height-1个位置,所以,最终我们的特征图在原先的基础上加上 (Stride−1)∗(Height−1)。即 Height'=Height+(Stride-1)*(Height-1)
对图的说明:
输入特征图A: 3*3
输入卷积核K:kernel为 3*3, stride为2, padding为1
新的特征图A’: 3 + (3-1)*(2-1) = 3+2 = 5 注意加上padding之后才是7。
新的卷积核设置K’: kernel不变,stride为1,padding= 3-1-1=1
最终结果: (5+2-3)/1+1=5
基于深度学习的高分辨率重建上采样算法总结相关推荐
- 基于深度学习的高分辨率遥感图像目标检测技术目前的研究现状
参考 基于深度学习的高分辨率遥感图像目标检测技术目前的研究现状 - 云+社区 - 腾讯云 目录 一.概述 二.通用目标检测方法 1.类不平衡问题 2.复杂背景 3.目标的尺度变化 4.特殊视角 5 ...
- 基于深度学习的RGBD深度图补全算法文章鉴赏
点击上方"计算机视觉工坊",选择"星标" 干货第一时间送达 [GiantPandaCV导语]本文针对3维视觉中的深度图补全问题,介绍了一下近年基于深度学习的RG ...
- 基于深度学习的手写数字识别算法Python实现
摘 要 深度学习是传统机器学习下的一个分支,得益于近些年来计算机硬件计算能力质的飞跃,使得深度学习成为了当下热门之一.手写数字识别更是深度学习入门的经典案例,学习和理解其背后的原理对于深度学习的理解有 ...
- 目标检测YOLO实战应用案例100讲-基于深度学习的自动驾驶目标检测算法研究
目录 基于深度学习的自动驾驶目标检测算法研究 相关理论基础 2.1 卷积神经网络基本原理
- 【三维深度学习】点云上采样网络PU-Net
点云上采样网络PU-Net,这篇论文的任务是在给定较为稀疏点云集合的基础上生成更为稠密的点,通过训练学习隐含的几何特征并利用更为稠密的点表示出来.与图像超分辨类似,但这一问题却需要处理非栅格点云数据: ...
- 【三维深度学习】点云上采样网络PU-Net 代码分析
PU-Net的代码是基于Tensorflow code,并从PointNet++和PointSetGeneration中进行了诸多借鉴.PU-Net是一个点云上采样模型,可以将非规则的点云输入通过点云 ...
- 论文 | 多传感器数据深度图的融合:最近基于深度学习的方法(上)
点上方蓝字计算机视觉联盟获取更多干货 在右上方 ··· 设为星标 ★,与你不见不散 编辑:Sophia 计算机视觉联盟 报道 | 公众号 CVLianMeng 转载于 :黄浴知乎,已获授权 htt ...
- 基于深度学习的文本分类6大算法-原理、结构、论文、源码打包分享
导读:文本分类是NLP领域一项基础工作,在工业界拥有大量且丰富的应用场景.传统的文本分类需要依赖很多词法.句法相关的human-extracted feature,自2012年深度学习技术快速发展之后 ...
- 读书笔记之《基于深度学习的高分辨率遥感图像识别与分类研究》
本篇文章解决的问题:高分辨遥感图像的分类 数据来源:Google Earth.Big MAP.全能地图下载器等网络软件下载19级图像数据 25000张 平台:Linux abuntu15.04系统上搭 ...
最新文章
- mysql-5.1.30+nginx-0.7.63+php-5.2.8+phpmyadmin(解压)等软件
- 完美解决 IOS系统safari5.0 浏览器页面布局iframe滚动栏失效问题
- liunx检查与安装软件包
- ubuntu无法安装vscode(visual studio code)如何卸载snap?
- php使用redis做缓存,php使用redis做缓存和使用redis保存session
- 数据库优化:SqlServer的with(nolock)关键字的用法介绍
- 微软如何利用机器学习改进Win 10更新体验
- OpenJudge NOI 1.5 02:财务管理
- 福利 | 限时免费体验 Google 官方 Android 课程
- Ubuntu 16.04的k8s安装配置
- Linux学习—编译
- HTML的表格边框的合并
- linux有线无线同时使用教程,巧用无线路由器 让有线、无线网络互通
- 原生js实现轮播图效果
- 西门子博图功能指令——缩放
- 微信SDK非ipad协议
- GitHub添加SSH key
- 七.Docker网络管理以及固定ip
- java string 编码_java中GBK编码格式转成UTF8,用一段方法实现怎么做?
- 怎么下载网页上的视频m3u4
热门文章
- Android天气预报APP
- Android VR Player(全景视频播放器) [7]:视频列表的实现-网络视频
- 斯坦福研发的集群机器人,可集体表演“I LOVE YOU”
- 如何在ipad上玩转思维导图软件
- animation 动画和3D 转换
- 2TB U盘格式化后,显示31GB,恢复如下:
- Win7可用的笔记本电池校正软件( 64、32位)
- chm文件打开闪退或者是搜索闪退解决办法
- 没有磁盘计算机无法运行,据说网吧的电脑大多数都没有硬盘,是真的吗?那电脑怎么运行?...
- Egret实战开发笔记,飞行射击游戏(六)