cvpr2016
论文下载:
Real-Time Single Image and Video Super-Resolution Using an Efficient Sub-Pixel Convolutional Neural Network
代码:
https://github.com/leftthomas/ESPCN
ESPCN的核心概念是亚像素卷积层(sub-pixel convolutional layer)。网络的输入是原始低分辨率图像,通过三个卷积层以后,得到通道数为放大倍数的立方的与输入图像大小一样的特征图像。再将特征图像每个像素的 个通道重新排列成一个 的区域,对应高分辨率图像中一个 大小的子块,从而大小为 的特征图像被重新排列成 的高分辨率图像。我理解的亚像素卷积层包含两个过程,一个普通的卷积层和后面的排列像素的步骤。就是说,最后一层卷积层输出的特征个数需要设置成固定值,即放大倍数r的平方,这样总的像素个数就与要得到的高分辨率图像一致,将像素进行重新排列就能得到高分辨率图.
ESPCN的核心概念是亚像素卷积层(sub-pixel convolutional layer)。如上图所示,网络的输入是原始低分辨率图像,通过两个卷积层以后,得到的特征图像大小与输入图像一样,但是特征通道为
1
×
r
H
×
r
W
大小的高分辨率图像。这个变换虽然被称作sub-pixel convolution, 但实际上并没有卷积操作。
也是一种后上采样的方法,速度十分的快。
看代码更清楚一些:
class espc(nn.Module):
def __init__(self, upscale_factor,in_channel):
super(espc, self).__init__()
self.conv1 = conv2d(1*in_channel, 1*in_channel, 5, 1, pad=2)
self.conv2 = conv2d(1*in_channel, 1*in_channel, 3, 1, pad=1)
self.conv3 = conv2d(1*in_channel, 1*in_channel*(upscale_factor ** 2), 3, 1, pad=1)
self.pixel_shuffle = nn.PixelShuffle(upscale_factor)
def forward(self, x):
x = self.conv1(x)
x = self.conv2(x)
x = self.conv3(x)
x = F.sigmoid(self.pixel_shuffle(x))
return x
cvpr2016论文下载:Real-Time Single Image and Video Super-Resolution Using an Efficient Sub-Pixel Convolutional Neural Network代码:https://github.com/leftthomas/ESPCN1.结构ESPCN的核心概念是亚像素卷积层(sub-pixel convolutional layer)。网络的输入是原始低分辨率图像,通过三个卷积层以后,得到通道数为放大倍数的立方的与输
tensorflow代码链接:https://github.com/drakelevy/ESPCN-TensorFlowtensorflow代码
首先,超分辨率是什么?
超分辨率就是我们有一张尺寸比较小的图,当我们将其放大的时候,会出现模糊的现象,超分辨率重建就是将放大之后的图像尽可能地清晰,也就是原图当中一个像素对应的内容在放大之后的图中用更多的像素来表示这一个内容。
以往的基于深度网络的超分辨...
cuda 9.2
python 3.6
github: [https://github.com/leftthomas/ESPCN](https://github.com/leftthomas/ESPCN)
上面github应该是官方代码,但是用的pytorch0.4以前的版本应该是,cuda是8.0,python是2.7
模型输入:原始低分辨率图片
核心:亚像素卷积。在网络的最末端实现LR到HR的分辨率
背景:之前的SRCNN,通过双三次插值得到的高分辨率的图像,直接从低分辨率LR得到了高分辨率的图片。(输入是双三次插值的高分辨率图像(类似于粗糙的高分辨率图像)),那么在网络卷积中就会造成,粗糙的高分辨率图和标签进行计算。这样计算时间复杂度较大。
ESPCN网络模型
# 网络模型代码
import math
import torch
这篇文章推出了一种具有亚像素卷积层结构的SR算法——ESPCN;相比于SRCNN直接对HRHRHR领域像素做卷积,ESPCN是直接对输入LRLRLR像素做特征提取,在当时来说,可以算是一种提高计算效率的有效途径。
参考文档:
Real-Time Single Image and Video Super-Resolution Using an Efficient Sub-Pixel Convolutional Neural NetworkAbstract1 Introduction2 Method2.1.
Real-Time Single Image and Video Super-Resolution Using an Efficient
Sub-Pixel Convolutional Neural Network一级目录二级目录三级目录
Sub-Pixel Convolutional Neural Network)
https://arxiv.org/pdf/1609.05158.pdf