【超分辨率】Efficient Sub-Pixel Convolutional Neural Network

论文全称:
《Real-Time Single Image and Video Super-Resolution Using an Efficient Sub-Pixel Convolutional Neural Network》
论文链接:https://arxiv.org/abs/1609.05158
全文翻译:http://www.jianshu.com/p/9d654bdbd5e2
代码链接(tensorflow):https://github.com/Tetrachrome/subpixel

这篇文章于2016年9月,Twitter挂到arxiv上,在速度和质量上较之前的基于CNN的SR算法都有了挺大的提升。
有个insight特别有意思,也就是这篇文章的核心—Efficient Sub-pixel Convolution。然而,虽然叫作Sub-pixel Convolution却并没有采用卷积操作。

整体架构

【超分辨率】Efficient Sub-Pixel Convolutional Neural Network_第1张图片

从图中可以很明显的看出来,整个网络用了两个卷积层来提取特征,一个亚像素卷积层来整合特征。

Input(1)->conv(5,64)->>conv(3,32)->subpixel ->output(4).


本文重点:亚像素卷积层

本文提到了上采样的几种的方法:
1. Interpolation, 比如SRCNN就用简单的三次样条插值进行初步的上采样,然后进行学习非线性映射
2. deconvolution, FSRCNN在最后的上采样层,通过学习最后的deconvolution layer。但deconvolution本质上是可以看做一种特殊的卷积,理论上后面要通过stack filters才能使得性能有更大的提升。
3. 本文提到的亚像素卷积sub-pixel Layer,其实跟常规的卷积层没有什么不同,不同的是其输出的特征通道数为r^2,其中r为缩放倍数。
原因很简单:
【超分辨率】Efficient Sub-Pixel Convolutional Neural Network_第2张图片
可从上面的公式看到,所得的高分辨率图像是通过PS操作,将r^2维度的低分辨率特征“组装”成高分辨率图像。
其中PS操作称之为: periodic shuffling

【超分辨率】Efficient Sub-Pixel Convolutional Neural Network_第3张图片

本质上就是将低分辨率特征,按照特定位置,周期性的插入到高分辨率图像中,可以通过颜色观测到上图的插入方式。


结果

首先先看运行速度:
【超分辨率】Efficient Sub-Pixel Convolutional Neural Network_第4张图片

速度上是相当快的,基本上能在视频上进行实时处理

图像质量
【超分辨率】Efficient Sub-Pixel Convolutional Neural Network_第5张图片

你可能感兴趣的:(超分辨率方向)