懒得总结,就从一篇综述中选取了一部分基于深度学习的图像超分辨率方法。
原文:基于深度学习的图像超分辨率复原研究进展
作者:孙旭 李晓光 李嘉锋 卓力 北京工业大学信号与信息处理研究室
来源:中国知网
前馈深度网络是典型的深度学习模型之一。网络中各个神经元从输入层开始,接收前一级输入,并输入到下一级, 直至输出层。整个网络中无反馈, 可用一个有向无环图表示。
在深度学习的SR问题中,前馈深度网络能够较好地学习低分辨率图像到高分辨率图像之间的对应关系。在输入层中,它采用卷积的方法提取输入图像的局部特征模式,单向传递给隐含层, 随着隐含层网络层数的加深而学习得到更深层级的特征;最后,由输出层得到重建图像。典型的前馈深度网络包括多层感知器和卷积神经网络(CNN)。
按前馈深度网络的网络类型可以分为以下几类:基于卷积神经网络的方法 (Super resolution using convolution neural network,SRCNN) ;基于极深网络的方法 (Very deep networks for SR,VDSR) ;基于整合先验的卷积神经网络的方法 (SR-CNN with Prior,SRCNN-Pr) ;基于稀疏编码网络的方法(Sparse coding based network,SCN) 和基于卷积稀疏编码的方法 (Convolutional sparse cod-ing super resolution,CSCSR)
香港中文大学Dong等率先将卷积神经网络引入到图像超分辨率复原的问题中, 设计了基于深度卷积神经网络的图像超分辨率复原方法。
该方法的主要思想:以深度学习与传统稀疏编码之间的关系作为依据,将网络分为图像块提取、非线性映射和图像重建三个阶段,再将这三个阶段统一到一个深度卷积神经网络框架中, 实现由低分辨率图像到高分辨率图像之间的端到端学习。该方法的重建结果比SCSR (Sparse coding based super resolution) 方法的结果有较大提高。
在网络结构方面, 该方法的网络结构设计简单, 将稀疏编码过程看作卷积运算, 利用三个卷积层完成图像块提取、非线性映射和图像重建等操作。
在优化方式上, 以SCSR为代表的传统浅层学习SR方法对三个阶段进行分别设计并独立优化处理, 偏重于字典学习优化, 而忽略了整体框架的优化。而这篇文章采用联合优化方式, 图像重建性能得到了较大的提高。
在训练阶段, 为避免重叠图像块后处理所造成的计算量增大的问题, Dong等将高分辨率样本随机裁剪为若干个子图像, 再经过高斯核滤波、下采样和上采样子图像, 得到低分辨率样本。在训练策略上, 该方法采用均方误差作为损失函数,由随机梯度下降法 (Stochastic gradient descent, SGD) 最小化损失函数, 训练速度进一步提升。
该方法的特点是将传统的稀疏编码与深度学习的SR方法联系在一起。虽然该方法展现出更好的重建效果,但是,SRCNN在加深网络层数的同时并未获得更好的效果, 其不足之处还包括不适用多尺度放大,训练收敛速度慢,图像块上下文依赖等。
该方法表明深度神经网络端到端的联合优化优于浅层学习方法将特征提取、特征映射和图像重建独立优化。
在SRCNN的基础上,极深网络的图像超分辨率复原方法借鉴用于图像分类的VGG网络结构,设计了含有20个权值层的深度网络。与图像分类的极深网络不同, 极深网络的SR方法可以用更深层网络对LR到HR之间映射关系建模。
该方法的主要思想是:将阶数较少的滤波器多次级联,充分利用LR和HR较大图像区域的上下文信息,获得了LR和HR之间的相关性。由于极深网络的训练效果直接影响重建图像的质量,该方法采用残差训练的方法训练极深网络,对HR和LR图像之间的残差进行训练,并采用较高学习率以加快收敛速度。该方法克服了SRCNN上下文信息缺乏关联、单一尺度放大和收敛速度慢等问题,并通过权值共享实现了网络参数更少、重建性能更佳的图像多尺度放大。
在网络结构方面,VDSR方法与SRCNN方法的网络不同:SRCNN仅有三个卷积层,每层卷积滤波器的数量较多,且尺度较大,呈现出窄宽型结构;而VDSR有二十个卷积层,每层卷积滤波器的数量较多,尺寸较小,然后保持一致性,呈现出细长型结构,能够增加图像局部感受野。
在卷积神经网络中,利用局部感受野,可构成相邻层神经元的上下文信息关联。VDSR采用多个3×3尺度滤波器,可实现更大感受野的效果。在卷积层中, 含多个3×3的滤波器比一个大尺寸的滤波器具有更少的参数。此外,空间表达及上下文信息的联系能力进一步加强。
在训练阶段,VDSR先采用较高学习率提高训练速度, 但随之带来梯度消失、梯度膨胀的问题;再采用可调梯度裁剪策略调整梯度信息,有效避免训练过程中梯度消失和爆炸的问题。
在同一幅图像中,不同尺度相似图像块能提供不同分辨率图像块间的对应关系,且受空间金字塔池化 (Spatial pyramid-pooling,SPP) 方法的启发。VDSR采用多尺度权值共享的策略,通过同一个网络处理不同尺度的图像放大问题。其中, VDSR通过调整滤波器的尺寸来接受不同尺度的图像特征,产生固定的特征输出。虽然VDSR可实现特定尺度的放大, 却不能实现多尺度的自由放大,且参数存储及检索也存在较明显的不足。
在图像重建阶段, 多级放大对于物体形变具有鲁棒性。与SRCNN相比,VDSR重建图像的PSNR值 (Peak signal-to-noise ratio) 提升了0.6∼0.9 d B。该方法表明极深的网络结构有望进一步提升图像重建质量;采用残差学习和可调梯度裁剪的策略可解决训练过程中梯度消失、梯度膨胀等问题。
为了整合图像的梯度先验信息, 西安交通大学的Liang提出了整合先验信息的超分辨率复原方法。在超分辨率复原任务中, 图像先验信息作为重要的组成部分,如何整合图像先验信息成为关键。
该方法的主要思想:首先,通过不同尺度的SR-CNN网络进行图像的结构相似性学习;然后,在SRCNN末端连接一个特征提取层, 得到图像的梯度信息;最后,采用信息融合的策略得到重建图像。训练过程中,该方法在代价函数中添加了重建图像的梯度信息与目标HR图像的梯度信息一致的约束条件,充分利用图像的边缘信息。该方法的重建结果比SRCNN略有提高。
在网络结构方面,该方法的前三层与SRCNN无异,并在此基础上加入特征提取层, 利用Sobel滤波器提取边缘信息。
训练过程,该算法先输入LR训练样本, 同时通过放大因子为2、3、4的网络,实现多尺度放大;再与第二个卷积层实现权值共享。其中,该算法改变训练过程中的代价函数,将先验信息添加到了训练过程中;多任务学习可充分考虑多个放大倍数任务之间的联系与差异,并采用权值共享缓解了多尺度放大的参数数量过多的问题。
相比于单任务,多任务学习可有效提高PSNR值。但随着放大倍数的增加,多任务学习与单任务的PSNR值相差不大, 甚至会随着放大倍数的增加而重建失效。在SRCNN-Pr方法的基础上,如何在更高的放大下提高PSNR值成为值得探索的问题。
相比于SRCNN的方法,SRCNN-Pr方法的PSNR值提高优势较弱。该方法表明浅层的卷积神经网络与图像先验信息相结合的方法提升能力有限, 但是, 该方法为领域先验与数据驱动的深度学习训练方法的结合提供了思路。
该方法的主要思想:借鉴基于稀疏表示超分辨率重建的思想, 将原方法中稀疏表示、映射、稀疏重建三个独立优化的模块纳入到一个稀疏网络中。网络的训练,相当于对三个模块协同优化,可得到全局最优解。稀疏编码网络更充分地利用了图像的先验信息。这种方法首先通过特征提取层得到图像的稀疏先验信息;然后, 通过基于学习的迭代收缩和阈值算法 (Learned iterative shrinkage and thresholding algorithm,LISTA)。建立了一个前馈神经网络SCN,该网络可实现图像的稀疏编码和解码;最后,采用级联网络完成图像放大, 该方法能够在更高放大倍数下提高PSNR,且算法运行速度进一步提升。SCN实际上可看作通过神经网络实现了基于稀疏编码SR方法。
在网络结构方面,SCN保留了SRCNN的图像块提取、表示层和重建层部分,并在中间层加入LISTA网络。级联SCN可实现任意尺度的图像放大。其中,级联网络的每个SCN单元可采用相同的网络参数,极大降低了算法复杂度。
实验结果表明,在4倍放大时, SCN采用级联方式比非级联方式PSNR值提高0.3∼0.5 dB;相较于SRCNN方法,SCN的PSNR值提升0.2∼0.5 dB, 且重建图像视觉质量较好。该方法表明传统稀疏编码模型所蕴含的领域知识对深度学习的网络设计具有重要的指导意义。
现阶段, 大多数基于深度学习的SR方法主要关注高低分辨率映射函数的学习。香港理工大学提出了基于卷积稀疏编码的SR方法。该方法的主要思想:首先进行LR滤波器、特征映射和HR滤波器的独立学习;然后在特征表示部分,考虑到相邻图像块重叠区域的像素相同,将图像分解为不重叠的图像块;最后,将特征映射和HR滤波器联合学习。在重建过程中,考虑到LR结构简单而HR复杂并含局部区域更大的空间信息,故使用少数的LR滤波器和大量的HR滤波器完成HR图像的重建过程。
该算法保持了SRCNN的网络结构,图像块提取、非线性特征映射与重建层不变。训练阶段分为两部分,LR滤波器学习,特征映射和HR滤波器联合学习。在LR滤波器学习阶段,将LR图分解为模糊成分和残差成分,分别提取其低频信息及高频信息,以获得稀疏特征映射。模糊成分采用双三次插值放大,残差成分分解到多个特征映射。在傅里叶域,通过SA-ADMM (Stuhastic altornating direction method of multipliers) 算法求解得到LR滤波器。在最优化部分, 使用交替方向乘子算法, 将大的全局问题分解为多个较容易解决的局部问题。通过协调子问题的解而得到最大的全局问题的解,可有效解决LR滤波器组学习的问题。特征映射和HR滤波器联合学习阶段:与LR滤波器学习过程相似,每个HR图像块分解为模糊成分和残差成分。根据上阶段所得LR特征映射和HR图像,可学习得到HR滤波器及相对应的映射函数。
在重建阶段,首先输入低分辨率图像,通过训练得到LR滤波器组,再经过卷积分解得到LR特征映射图;最后,由HR特征映射估计得到HR特征映射图,通过HR滤波器组卷积得到重建后的HR图像。
在Set5数据集下进行对比实验,相比于SRCNN方法,2倍放大时,CSCSR的平均PSNR值提升0.23 dB;3倍放大时,CSCSR的平均PSNR值提升1.24dB,图像视觉质量较好。
该方法表明LR和HR滤波器学习对深度学习网络的滤波器组的设计具有重要的指导意义,有助于保持图像的空间信息并提升重建效果。
表1总结比较了5种前馈深度网络的图像超分辨率算法的不同特点。SRCNN方法将传统的稀疏编码与深度学习相结合,完成了用于图像复原的深度神经网络建设,但也存在一些不足。在SRCNN的基础上,一些方法(VDSR、SRCNN-pr、SCN和CSCSR) 分别从网络结构、先验信息嵌入、滤波器组学习等方法作出改进。VDSR的结果表明“更深的网络, 更好的性能”;SRCNN-pr表明多任务学习可提高算法运算速度;SCN为网络学习稀疏先验提供指导;CSCSR的结果证明ADMM算法可应用于滤波器组学习,并为深度网络的滤波器组学习提供指导。
反馈深度网络又称递归网络。与前馈网络不同, 在反馈网络中,信息在前向传递的同时还要进行反向传递。其中,输入信号决定初始状态,所有神经元均具有信息处理功能, 且每个神经元既可以从外界接收输入,同时又可以向外界输出,直到满足稳定条件,网络才可以达到稳定状态。
反馈深度网络由多个解码器叠加而成,可分为反卷积神经网(Deconvolutional networks,DN) 和层次稀疏编码网络 (Hierarchical sparse coding,HSC) 等。其特点是通过解反卷积或学习数据集的基,对输入信号进行反解。层次稀疏编码网络和反卷积网络相似,仅是在反卷积网络中对图像的分解而在稀疏编码中采用矩阵乘积的方式。
传统的SR方法存在网络迭代次数不可控, 计算量较大,及不能适用于整体框架等问题。基于快速反卷积 (Fast deconvolution,FD) 的SR方法[42]由初始上采样、梯度先验计算和快速反卷积三个阶段组成。首先,采用双三次插值的方法初始化低分辨率图像到合适的分辨率;然后, 由快速反卷积估计恢复到高分辨率图像。其中, 为了反卷积更好地表达和加快速度, 需要在反卷积前加入梯度先验计算。在梯度先验计算过程中,直接计算水平和垂直方向的梯度值计算量较大,故先进行快速傅里叶变换,在傅里叶变换域进行卷积更加有效;最后,经傅里叶逆变换得到重建图像, 重建图像主观质量较好,且算法速度进一步提升。
该方法表明,快速反卷积的方法可以达到整合先验信息目的,且反卷积对网络建设提供参考。
VDSR的方法具有20层深层网络,其缺乏层间信息反馈及上下文信息关联。为了解决此问题,Kim等提出了深度递归卷积网络的SR方法(Deeplyrecursive convolutional network,DRCN) 该方法的主要思想:首先,在极深网络的各层建立预测信息的监督层;然后,将各层的预测信息通过跳跃连接到重建层;最后,在重建层完成图像重建。
在网络结构上,该方法包括嵌入网络, 推理网络和重建网络三部分。推理网络有多个递归层, 展开推理网络后,相同的滤波器递归地应用于特征映射,展开模型能在没有增加新的权值参数的前提下利用更多的上下文信息。在连接方式上,深度递归网络可实现所有递归层共享一个重建层,可通过跳跃连接来构建递归层与重建层的联系。
在训练策略上,为减轻梯度消失和梯度爆炸所带来的影响,该方法采用递归监督和跳跃连接的方式。由推理层得到各层递归, 再由跳跃连接与重建层直接连接,加深网络层间联系并加快收敛速度。与SRCNN相比,该方法重建图像的PSNR值可提升0.6∼0.9 dB,重建图像质量较好。
该方法表明递归网络与跳跃连接结合的方法可实现图像层间信息反馈及上下文信息关联,对网络层间连接的建设提供指导。
SRCNN通过端到端学习得到LR与HR的映射关系,但它未充分开发图像先验信息,且存在细节信息丢失的现象。为了解决此问题,北京大学和新加坡国立大学等联合提出深度边缘指导反馈残差网络 (Deep edge guided recurrentr esidual, DEGREE) 的方法。
DEGREE方法的主要思想:首先,将低分辨率图像的边缘作为先验信息,并为特征映射学习提供指导;然后,为避免忽略不同频带间的固有性质 (高频边缘和纹理细节信息) ,通过递归残差网络将图像信号分解为边缘、纹理等多个成分,分别作为不同的频率子带, 各部分独立重建;最后,不同频带信息组合得到最终的重建图像。
在网络结构方面,DEGREE方法主要包括以下成分。LR边缘提取层;递归残差网络;HR边缘预测层;残差子带融合层。训练策略上,该方法采用分流连接克服了SRCNN等方法收敛速度慢的缺点。在损失函数建立方面,与现有的其他方法不同, DEGREE的方法建立了3个损失,即边缘损失, 重建损失和总损失。优化设计合理,均衡了边缘重建与最终重建图像间的损失,进一步利用了图像的边缘信息。与SRCNN相比,该方法的PSNR值提升了0.4∼0.8 dB, 视觉质量较好。
该方法表明嵌入先验信息到深度网络可以指导边缘特征重建。此外,将图像信号分解到不同的频带分别重建再进行组合的方式可保留图像重要的细节信息。
表2总结比较了三种反馈深度网络的超分辨率算法的优缺点。FD方法的特点是算法运算速度较快, 但生成图像质量一般;针对极深网络层间信息缺乏连接的问题, DRCN方法采用递归监督的策略实现层间信息连接; DEGREE的方法的特点是建立多个损失函数, 完成网络结构优化。
双向深度网络的方法将前馈网络和反馈网络相结合。既含前馈网络反向传播的特点, 又与反馈网络预训练方法类似。
双向深度网络包括深度玻尔兹曼机 (Deep Boltzmann machines,DBM) 、深度置信网络 (Deep belief networks,DBNs) 和栈自编码器 (Stacked auto-encoders,SAE) 等。
基于受限玻尔兹曼机的方法 (Restricted Boltzmann machine,RBM)采用稀疏编码的方法, 在字典中预先学习稀疏先验,再进行字典学习。其中,在RBM编码中 ,图像块作为字典的成分。训练过程中,采用对比散度算法来加快训练。随着RBM隐含层的层数增加,可以得到深度玻尔兹曼机 (DBM) 。该方法采用对比散度算法, 训练速度较快。相比于SCSR,SCSR与RBM相结合的性能得到进一步提升。
基于深度置信网络的方法[46]将SR问题看成是一个丢失数据的完备化问题。该方法有两个阶段, 训练阶段,将HR图像分成图像块,变换到DCT (Discrete cosine transform) 域,得到DCT系数, 通过SGD训练得到DBNs。重建阶段,将插值放大后的LR图像分解成图像块,变换到DCT域, 利用训练得到的DBNs来恢复丢失的高频细节信息。最后,通过DCT逆变换获得重建图像。
中科院自动化所Cui等提出了深度级联网络SR方法 (Deep network cascade,DNC) ,该方法通过将多个相同网络结构级联,实现图像的逐级放大。网络结构单元采用多尺度非局部相似检索和协同自编码器构成, 用于解决误差传递和相邻块之间的兼容性问题。
在网络结构方面, 该方法由一个CLA单元 (Collaborative local auto-encoder) 与一个NLSS单元 (Non-local self-similarity) 组成一个级联层。在每个级联层中,先从多尺度图像块中进行非局部自相似搜索NLSS,用于增强输入图像块的高频纹理细节;再将增强后的图像块放入CLA中,抑制噪声并整合重叠图像块的兼容性,若干个CLA与NLSS组合而成的模型更具有鲁棒性;最后,平均图像块间重叠部分的信息 得到最后的HR图像。该方法表明,NLSS与CLA的组合方式可实现图像高频纹理增强及抑制噪声等功能。
表3总结比较了三种双向深度网络SR算法的优缺点。其中,RBM的算法运算速度较快,但重建图像质量一般;DBNS能较好地恢复图像细节信息, 但算法运行速度一般;DNC有效抑制噪声,并得到纹理信息增强的重建图像。