基于周期激活函数的单图像超分辨率深度残差网络

2022-01-21 06:12王梦露
大学数学 2021年6期
关键词:残差分辨率尺度

王梦露

(合肥工业大学 数学学院,合肥 230601)

1 引 言

近年来,随着计算机科学技术的进步和卷积神经网络的引入,单图像超分辨率存在的诸如抽取、噪声或模糊等多种退化问题有了更好的解决途径.在深度神经网络[7]提出“越深越好”的思想后,加深模型的深度成为提高图像质量的新途径,深层神经网络对网络结构非常敏感,因此模型结构的设计在训练深层神经网络中非常重要.利用激活函数为神经网络引入非线性,可以任意逼近任何非线性映射,进而应用于许多非线性模型.线性整流函数ReLU解决了反向传播过程中的梯度消失问题,降低了计算复杂度,但是当一个非常大的梯度通过ReLU时,在参数更新后,该单元不再激活任何数据,因此梯度将始终保持不变为零,实验上,如果学习率太高了,ReLU将无法正常工作.引入周期性激活函数来代替ReLU,由于它的可微性和连续性,可以更好地保留图像的细节,网络实验表明,改进后的结构产生了更好的效果.

2 相关工作

解决超分辨率问题主要有两种方法,一种是基于恢复的方法,更侧重于空间信息的增强,但主要缺点是先验信息利用不足,它们需要精确的亚像素运动估计,对模型的要求也很严格.第二种是基于学习[4]的方法,它可以将机器学习和模式识别算法相结合,采用学习模式有针对性地重建目标类.与基于恢复的方法相比,基于学习的方法性能更好,大大降低了计算复杂度,但训练数据库和训练时间的巨大需求限制了其发展.

传统的图像超分辨率方法起源于光学领域提出的基于插值[1]的超分辨率方法.随后又提出了基于小波变换的方法和基于稀疏表示的方法,但上述方法仍旧不能很好地恢复到符合人眼视觉的分辨率.而SRCNN[4]首先将CNN引入图像超分辨率处理,使用三个卷积层构造从LR到HR的端到端映射.然后引入反卷积方法代替双三次采样作为一种新的上采样方法,并通过增加卷积层数到深网络深度来设计FSRCNN模型[5].

为了改进上采样技术,提出了利用亚像素卷积层对每个特征图进行单独上采样的ESPCN[6]模型,目前ESPCN模型已成为应用最广泛的上采样方法.由Kim提出的非常深的超分辨率卷积网络[7]和深度循环卷机神经网络[8]以及Tai提出的深度残差卷积神经网络模型[9]在前人的工作基础上,对模型结构进行了改进,使网络更加深入.虽然深层神经网络的性能较好,但在训练过程中存在梯度消失或爆炸梯度的问题.残差学习算法设计出残差块结构,采用模块化结构加深网络的深度,进一步提高了重建图像的质量.

然而,单尺度超分辨不能适用于多尺度超分辨问题,不同尺度的上采样需要不同的网络,效率低下,大规模计算复杂度高,LapSRN模型[10]采用了一种启发性结构,利用网络进行多种上采样处理,而不是以往工作中只在开始或结束时进行一次上采样,在递归上采样过程中,每次递归后,图像放大两次,构成一个逐步放大的过程,提高图像质量.由于ResNet[11]是为解决更高层次的计算机视觉问题而设计的,直接应用于图像超分辨率问题是次优的,EDSR算法模型[2]通过去除批处理规范化层来优化前一个残差块,降低了计算复杂度,提高了稳定性和可扩展性.

虽然L2损失函数在PSNR值上取得了很好的效果,但重建图像过于平滑,不能满足人眼视觉的要求.将生成对抗模型的知觉损失函数应用到超分辨率任务中,进一步改善重建图像的纹理细节.然而,生成对抗模型的训练过程极不稳定,而且生成器和鉴别器的损失函数不能反映训练过程,生成的样本缺乏多样性.

3 方 法

3.1 周期残差块

将残差网络作为整个网络的组成部分,用新的激活函数对残差网络进行了改进,从而提出了周期残差块.

在图1中对比来自DRRN、ResNet和提出的网络的块,受之前工作[4]的启发从残差单元移除了批处理规范化层.批处理规范化是深度学习中一项非常重要的技术,它不仅可以简化深层网络的训练,加快收敛速度,而且对防止模型过度拟合具有一定的正则化效果.然而,批处理标准化拉伸图像对比度.归一化后,任何图像的颜色分布都将被归一化.图像原有的对比度信息被破坏,影响了网络输出图像的质量.此外,由于没有批量规范化层,与以往的工作相比,GPU在训练过程中也有效地节省了资源.

图1 周期残差块结构

对于每一个周期残差块,可以表示为如下形式:

yl=h(xl)+F(xl,Wl),xl+1=Sin(yl),

其中xl,xl+1分别表示l层的输入和输出,h(xl)为恒等映射,F代表残差函数,Sin表示周期残差块内部所使用的正弦激活函数,Wl表示权重矩阵.

输入图像在周期残差块内部,首先通过一个卷积层进行卷积操作,提取图像粗糙特征,然后通过正弦函数激活层,目的是使模型获得非线性,再次通过卷积层进行深层特征提取,提取特征后的图像与原输入图像融合,这样做是为了保留输入的低像素图像的原始特征信息,每一个周期残差块最终输出融合后的图像.

神经网络将低分辨率到高分辨率图像的隐式的映射进行参数化,无法对像素进行更加细致、连续的重建.为了还原真实图像中含有的多种真实分布,使用周期性激活函数来进行改进.过去的采样结果是得到离散的数据,而使用周期性激活函数之后,网络将具有周期性,数据以连续的方式进行存储和重建.

根据周期性激活函数所具有的连续可微性[3],模型能够更好的模拟真实图像的像素分布,并且精细地参数化真实图像空间,使得重建图像具有更好的纹理细节特征.同时,由于处处可微的性质,使用周期性激活函数使得模型收敛速度更快,并且不损失重建图像的质量.

3.2 单尺度网络结构

为了提高网络的性能,最有效的方法是增加模型的深度,即在卷积神经网络中叠加更多的层.但是,增加卷积层数会带来梯度消失或爆炸的问题,在不增加层数的情况下,增加了特征通道的数目来扩展模型的属性,同时节省了计算资源.

增加通道数目将会引入更多的参数,进而使得训练过程在数值上变得不稳定,为了解决这个问题,引入一个非常小的常数作为残差缩放的参数值,使得模型在使用较多的卷积滤波器时也能够稳定地训练,残差缩放模块被放在每个周期残差块结构的末端,在求和操作之前.实验显示,加入这样的结构很好的保证了训练过程的稳定和计算效率.

设定残差块的个数为PB,模型的深度为d=PB×2+1.

令x和y分别为模型输入的模糊图像和输出的重建图像,为Pb第b个周期残差块的运算法则,当b=0 时令x0=x即原输入图像,FCon为模型第一个卷积层的运算法则,FRe为模型最后一个卷积层的运算法则,则模型可以表示为

xb=Pb(xb-1)=Sin(h(xb-1)+F(xb-1,Wb-1)),

y=FRe(PPB(PPB-1(…P1(FCon(x))…)…)+x).

模型结构如图2所示,由多个周期残差块串联组成单尺度网络的主要部分,在周期残差块中去掉了求和之后的激活函数,仅在周期残差块内部进行激活,使用正弦函数代替ReLU函数作为激活函数,在每个卷积层中使用256个特征通道,并在每个周期残差块中加入残差缩放模块.

图2 单尺度模型结构

输入图像首先通过一个用于预处理的卷积层进行浅层次特征提取,提取后的特征图像通过一列周期残差块组进行深层次特征提取后,与最初提取的特征图像进行融合,融合图像通过上采样层进行放大,并最终由重建卷积层重建为超分辨图像.

在训练过程中设置放大因子为×2和×4,在训练×2之后,使用预先训练好的×2模型对×4模型的训练进行参数初始化,相比较于独立地对不同尺度的模型进行初始化,使用预先训练的模型进行初始化可以缩短模型训练时间,并提高最终重建图像的质量.

3.3 多尺度网络结构

为了建立多尺度网络结构,引入与尺度相关的特殊模块,这些模块被放置在模型前端,目的是将输入图像按不同尺度进行预处理操作,多尺度网络结构与单尺度网络主体结构类似,不同之处在于,在模型的开端,多尺度网络的预处理层包括两个不同尺度的残差块,在模型的末端,多尺度网络使用不同尺度的上采样模块,对图像进行独立的上采样操作,上采样模块的结构与单尺度模型中的结构相同,每个尺度的上采样模块具有独立的输出.为了在网络初期使得模型具有较大的感受野,我们在尺度预处理模块中应用尺寸较大的滤波器,并同时保证尺度预处理模块的浅度.

4 实验结果

4.1 数据集

图3 与其他模型对比

使用目前最新也是最广泛使用的DIV2K数据集进行训练,DIV2K数据集为图像超分辨任务提供高质量的图片集,包括800张用于训练的图片以及100张测试图片,同时用DIV2K数据集给出的图像以及其他数据集进行辅助测试,包括Urban100,Set5,Set14.

4.2 实验细节

选择×2和×4作为训练模型时的上采样因子,使用带有相应高分辨图像的低分辨图像进行训练,尺寸大小为48×48.在训练之前,通过减去DIV2K数据集的平均RGB值来预处理所有图像.这样做的目的是移除统计平均值所代表的相同部分,放大个体特征的差异.模型使用ADAM优化函数并设定相关参数为:β1=0.9,β2=0.999,ε=10-8.学习率初始化为10-4,批量大小设置为16,并在每2×105个批量后将学习率半数退化.

对于×2尺度模型使用上述方法进行训练,并在模型收敛之后,用作训练其他模型的预处理参数.使用MAE代替MSE作为训练模型时的损失函数,真实图像因为含有多种特征而被成为多模态图像,且真实样本并不来源于同一高斯分布,如果用MSE损失函数去拟合包含多种特征的数据分布,将会平均化多模态数据样本的特征信息,导致模糊图像的产生.

实验评估采用PSNR标准:

与SSIM标准:

表1 与其他算法进行对比,评估标准为PSNR/SSIM

5 结 论

本文提出了一种使用周期性激活函数的超分辨率算法,在模型结构上移除了冗余模块,使得模型更加简洁的同时保证重建图像的质量,有效地降低了运算复杂度.通过引入周期性激活函数提升重建图像在纹理细节上的复原度,同时引入残差缩放技术使得大型网络在训练时稳定.

此外,通过采用预先训练好的模型作为初始化设置,减少了不同尺度模型的训练时间,通过将尺度相关的模块在网络主结构中共享,进而提出多尺度的超分辨率网络,可以仅通过一个网络就处理不同尺度的超分辨率问题,有效地提高了模型的灵活性和可扩展性.

致谢作者非常感谢相关文献对本文的启发以及审稿专家提出的宝贵意见.

猜你喜欢
残差分辨率尺度
基于双向GRU与残差拟合的车辆跟驰建模
基于残差学习的自适应无人机目标跟踪算法
财产的五大尺度和五重应对
基于递归残差网络的图像超分辨率重建
EM算法的参数分辨率
原生VS最大那些混淆视听的“分辨率”概念
基于深度特征学习的图像超分辨率重建
一种改进的基于边缘加强超分辨率算法
宇宙的尺度
平稳自相关过程的残差累积和控制图