超分辨率技术(Super-Resolution)是指从观测到的低分辨率图像重建出相应的高分辨率图像,在监控设备、卫星图像和医学影像等领域都有重要的应用价值。SR可分为两类:从多张低分辨率图像重建出高分辨率图像和从单张低分辨率图像重建出高分辨率图像。基于深度学习的SR,主要是基于单张低分辨率的重建方法,即Single Image Super-Resolution (SISR)。

  SISR是一个逆问题,对于一个低分辨率图像,可能存在许多不同的高分辨率图像与之对应,因此通常在求解高分辨率图像时会加一个先验信息进行规范化约束。在传统的方法中,这个先验信息可以通过若干成对出现的低-高分辨率图像的实例中学到。而基于深度学习的SR通过神经网络直接学习分辨率图像到高分辨率图像的端到端的映射函数。

  本文介绍几个较新的基于深度学习的SR方法,包括SRCNN,DRCN, ESPCN,VESPCN和SRGAN等。

1,SRCNN

  Super-Resolution Convolutional Neural Network (SRCNN, PAMI 2016,代码)是较早地提出的做SR的卷积神经网络。该网络结构十分简单,仅仅用了三个卷积层。

SR的卷积神经网络 深度学习在图像超分辨率重建中的应用 AI资讯 第1张

  该方法对于一个低分辨率图像,先使用双三次(bicubic)插值将其放大到目标大小,再通过三层卷积网络做非线性映射,得到的结果作为高分辨率图像输出。作者将三层卷积的结构解释成与传统SR方法对应的三个步骤:图像块的提取和特征表示,特征非线性映射和最终的重建。

  三个卷积层使用的卷积核的大小分为为9x9, 1x1和5x5,前两个的输出特征个数分别为64和32. 该文章分别用Timofte数据集(包含91幅图像)和ImageNet大数据集进行训练。相比于双三次插值和传统的稀疏编码方法,SRCNN得到的高分辨率图像更加清晰,下图是一个放大倍数为3的例子。

SRCNN得到的高分辨率图像更加清晰 深度学习在图像超分辨率重建中的应用 AI资讯 第2张

  对SR的质量进行定量评价常用的两个指标是PSNR(Peak Signal-to-Noise Ratio)和SSIM(Structure Similarity Index)。这两个值越高代表重建结果的像素值和金标准越接近,下图表明,在不同的放大倍数下,SRCNN都取得比传统方法好的效果。

SRCNN都取得比传统方法好的效果 深度学习在图像超分辨率重建中的应用 AI资讯 第3张

2, DRCN

  SRCNN的层数较少,同时感受野也较小(13x13)。DRCN (Deeply-Recursive Convolutional Network for Image Super-Resolution, CVPR 2016,代码)提出使用更多的卷积层增加网络感受野(41x41),同时为了避免过多网络参数,该文章提出使用递归神经网络(RNN)。网络的基本结构如下:

递归神经网络(RNN) 深度学习在图像超分辨率重建中的应用 AI资讯 第4张

  与SRCNN类似,该网络分为三个模块,第一个是Embedding network,相当于特征提取,第二个是Inference network, 相当于特征的非线性变换,第三个是Reconstruction network,即从特征图像得到最后的重建结果。其中的Inference network是一个递归网络,即数据循环地通过该层多次。将这个循环进行展开,就等效于使用同一组参数的多个串联的卷积层,如下图所示:

Inference network是一个递归网络 深度学习在图像超分辨率重建中的应用 AI资讯 第5张

  其中的H1HD是D个共享参数的卷积层。DRCN将每一层的卷积结果都通过同一个Reconstruction Net得到一个重建结果,从而共得到D个重建结果,再把它们加权平均得到最终的输出。另外,受到ResNet的启发,DRCN通过skip connection将输入图像与Hd的输出相加后再作为Reconstruction Net的输入,相当于使Inference Net去学习高分辨率图像与低分辨率图像的差,即恢复图像的高频部分。

实验部分,DRCN也使用了包含91张图像的Timofte数据集进行训练。得到的效果比SRCNN有了较大提高。

Timofte数据集进行训练 深度学习在图像超分辨率重建中的应用 AI资讯 第6张

3, ESPCN

  在SRCNN和DRCN中,低分辨率图像都是先通过上采样插值得到与高分辨率图像同样的大小,再作为网络输入,意味着卷积操作在较高的分辨率上进行,相比于在低分辨率的图像上计算卷积,会降低效率。 ESPCN(Real-Time Single Image and Video Super-Resolution Using an Efficient Sub-Pixel Convolutional Neural Network,CVPR 2016,代码)提出一种在低分辨率图像上直接计算卷积得到高分辨率图像的高效率方法。

计算卷积得到高分辨率图像的高效率方法 深度学习在图像超分辨率重建中的应用 AI资讯 第7张

  ESPCN的核心概念是亚像素卷积层(sub-pixel convolutional layer)。如上图所示,网络的输入是原始低分辨率图像,通过两个卷积层以后,得到的特征图像大小与输入图像一样,但是特征通道为r2(r是图像的目标放大倍数)。将每个像素的r2个通道重新排列成一个r x r的区域,对应于高分辨率图像中的一个r x r大小的子块,从而大小为r2x H x W的特征图像被重新排列成1 x rH x rW大小的高分辨率图像。这个变换虽然被称作sub-pixel convolution, 但实际上并没有卷积操作。

  通过使用sub-pixel convolution, 图像从低分辨率到高分辨率放大的过程,插值函数被隐含地包含在前面的卷积层中,可以自动学习到。只在最后一层对图像大小做变换,前面的卷积运算由于在低分辨率图像上进行,因此效率会较高。