【计算机视觉】【神经网络与深度学习】深度学习在图像超分辨率重建中的应用

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

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

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

本文介绍几个较新的基于深度学习的SR方法,包括SRCNNDRCN, ESPCNVESPCNSRGAN等。github


1.SRCNN

Super-Resolution Convolutional Neural Network (SRCNN, PAMI 2016, http://mmlab.ie.cuhk.edu.hk/projects/SRCNN.html)是较早地提出的作SR的卷积神经网络。该网络结构十分简单,仅仅用了三个卷积层。算法


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

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


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


2.DRCN

SRCNN的层数较少,同时感觉野也较小(13x13)。DRCN (Deeply-Recursive Convolutional Network for Image Super-Resolution, CVPR 2016, http://cv.snu.ac.kr/research/DRCN/)提出使用更多的卷积层增长网络感觉野(41x41),同时为了不过多网络参数,该文章提出使用递归神经网络(RNN)。网络的基本结构以下:ide


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


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

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


3.ESPCN

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


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

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


重建效果上,用PSNR指标看来ESPCN比SRCNN要好一些。对于1080HD的视频图像,作放大四倍的高分辨率重建,SRCNN须要0.434s而ESPCN只须要0.029s。


4. VESPCN

在视频图像的SR问题中,相邻几帧具备很强的关联性,上述几种方法都只在单幅图像上进行处理,而VESPCN( Real-Time Video Super-Resolution with Spatio-Temporal Networks and Motion Compensation, arxiv 2016)提出使用视频中的时间序列图像进行高分辨率重建,而且能达到实时处理的效率要求。其方法示意图以下,主要包括三个方面:


一是纠正相邻帧的位移误差,即先经过Motion estimation估计出位移,而后利用位移参数对相邻帧进行空间变换,将两者对齐。二是把对齐后的相邻若干帧叠放在一块儿,当作一个三维数据,在低分辨率的三维数据上使用三维卷积,获得的结果大小为donkey_b1d98e8b-019f-404f-838b-d4f7c681f。三是利用ESPCN的思想将该卷积结果从新排列获得大小为donkey_c692e127-1ea9-4096-8109-8a66cffcd的高分辨率图像。

Motion estimation这个过程能够经过传统的光流算法来计算,DeepMind 提出了一个Spatial Transformer Networks, 经过CNN来估计空间变换参数。VESPCN使用了这个方法,而且使用多尺度的Motion estimation:先在比输入图像低的分辨率上获得一个初始变换,再在与输入图像相同的分辨率上获得更精确的结果,以下图所示:


因为SR重建和相邻帧之间的位移估计都经过神经网路来实现,它们能够融合在一块儿进行端到端的联合训练。为此,VESPCN使用的损失函数以下:

第一项是衡量重建结果和金标准之间的差别,第二项是衡量相邻输入帧在空间对齐后的差别,第三项是平滑化空间位移场。下图展现了使用Motion Compensation 后,相邻帧之间对得很整齐,它们的差值图像几乎为0.


从下图能够看出,使用了Motion Compensation,重建出的高分辨率视频图像更加清晰。


5.SRGAN

SRGAN (Photo-Realistic Single Image Super-Resolution Using a Generative Adversarial Network,https://arxiv.org/abs/1609.04802, 21 Nov, 2016)将生成式对抗网络(GAN)用于SR问题。其出发点是传统的方法通常处理的是较小的放大倍数,当图像的放大倍数在4以上时,很容易使获得的结果显得过于平滑,而缺乏一些细节上的真实感。所以SRGAN使用GAN来生成图像中的细节。

传统的方法使用的代价函数通常是最小均方差(MSE),即

该代价函数使重建结果有较高的信噪比,可是缺乏了高频信息,出现过分平滑的纹理。SRGAN认为,应当使重建的高分辨率图像与真实的高分辨率图像不管是低层次的像素值上,仍是高层次的抽象特征上,和总体概念和风格上,都应当接近。总体概念和风格如何来评估呢?可使用一个判别器,判断一副高分辨率图像是由算法生成的仍是真实的。若是一个判别器没法区分出来,那么由算法生成的图像就达到了以假乱真的效果。

所以,该文章将代价函数改进为


第一部分是基于内容的代价函数,第二部分是基于对抗学习的代价函数。基于内容的代价函数除了上述像素空间的最小均方差之外,又包含了一个基于特征空间的最小均方差,该特征是利用VGG网络提取的图像高层次特征:


对抗学习的代价函数是基于判别器输出的几率:

其中donkey_f304884d-03de-4819-97d7-8c3fdd624是一个图像属于真实的高分辨率图像的几率。donkey_5d37b53c-db5e-45aa-94d0-d034b7374是重建的高分辨率图像。SRGAN使用的生成式网络和判别式网络分别以下:

该方法的实验结果以下


从定量评价结果上来看,PSNR和SSIM这两个指标评价的是重建结果和金标准在像素值空间的差别。SRGAN获得的评价值不是最高。可是对于MOS(mean opinion score)的评价显示,SRGAN生成的高分辨率图像看起来更真实。

相关文章
相关标签/搜索