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
×
rH
×
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
voc+coco预训练+yolov3+loss3.874+915但是已经停止收敛了:
srcnn915依旧有着收敛的趋势:
935&EPOCH58已经收敛了:
ESPCN:
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)。网络的输入是原始低分辨率图像,通过三个卷积层以后,得到通道数为放大倍数**2的与输
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)。网络的输入是原始低分辨率图像,通过三个卷积层以后,得到通道数为放大倍数的立方的与输
这篇文章推出了一种具有亚像素卷积层结构的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.
Test
Datasets
:这个repo提供了三种类型的视频数据集进行测试,即标准测试数据集——TecoGAN中使用的Vid4、Tos3和我们的新数据集——Gvt72(从站点中选择并包括更多场景)。
更好的性能:此
为模型提供了比以前的方法更快的推理速度和更好的整体性能。
请参阅部分中的更多详细信息。
Ubuntu
16.04
CUDNN
Python
PyTorch
1.0.0
Python
包:numpy、
Re
al-Time Single Image and Video Super-R
esolution Using an E
fficient
Sub-
Pixel Convolutional Neural Network一级目录二级目录三级目录
Sub-
Pixel Convolutional Neural Network)
https://arxiv.org/pdf/1609.05158.pdf
亚像素卷积层是一种替代反卷积层的方法。在使用反卷积层时,我们需要先对输入进行上采样,然后再进行卷积操作。而在亚像素卷积层中,我们可以将卷积操作和上采样操作合并在一起。这种方法可以减少计算量,并且可以减少空间上的不连续性。
具体地说,亚像素卷积层将输入张量转换为一个更大的张量,并且将每个像素值分解成多个子像素。每个子像素都与原始输入张量中的一个像素相对应。然后,我们将这些子像素输入到卷积层中进行卷积操作。最后,我们将卷积结果重构为一个更大的张量,并且将每个子像素合并成一个像素。
使用亚像素卷积层可以改善图像分割和图像生成任务的性能,并且可以减少模型的计算量。因此,亚像素卷积层是一种有用的卷积层替代方案。