基于CNN和Resblock的图像超分辨率重建算法*

2019-07-19 01:24何京璇
网络安全与数据管理 2019年7期
关键词:插值步长残差

张 健,何京璇,王 容

(海南大学,海南 海口 570228)

0 引言

图像所包含的信息量大小在很大程度上取决于图像的分辨率高低,因此分辨率成为评价图像质量的关键指标。

图像的超分辨率技术[1]是指从一帧或多帧分辨率低的观测图像中恢复出高分辨率图像或图像序列的技术。根据对当前文献的研究,基于学习的超分辨率技术无论是在图像质量还是图像类型上都优于基于插值[2]和基于重建的方法[3-4]。基于学习的超分辨率技术主要有:CHANG H等人提出的邻域嵌入算法[5]、TIMOFTE R等人提出的固定邻域回归[6]和调整的固定邻域回归[7]、YANG J C等人提出的稀疏编码算法[8]、DONG C等人提出的利用卷积神经网络对图像进行超分辨率重建(SRCNN)的算法[9-10]等。

基于卷积神经网络的特征,本文提出一种新的图像重建算法,通过卷积操作提取原始LR图像丰富的图像特征,在网络末用反卷积进行高分重建,同时在网络中加入残差结构提升网络性能。实验结果显示,相比于Bicubic[2]、SRCNN等方法,本文提出的算法具有更好的图像超分辨率重建结果,且运算速度、网络收敛速度更快,系统性能更稳定。

1 相关理论

由DONG C等人[10]提出的SRCNN算法是一种基于卷积神经网络的图像重建算法,该算法首先利用Bicubic方法将输入的低分辨率图像放大,达到与将要输出的高分辨率图像相同的尺寸后,再经过三个卷积层得到重建的图像。图1展示了SRCNN的网络结构。

图1 SRCNN的网络结构

如图1所示,首先通过Bicubic方法得到放大后的图像,根据第一层卷积操作对图像进行特征提取,再通过第二个卷积层实现非线性映射,最后由第三个卷积层实现对图像的重建,从而获取高分辨率的图像。SRCNN实现了将CNN用于图像处理的问题,但是需要采用双三次插值法对图像进行预处理,运算速度较慢。

2 本文算法

本文利用反卷积代替传统的双三次插值,并在网络中加入残差结构,同时引入反卷积层对处理后的图像进行上采样,通过调整步长实现对采样因子的调整,从而实现不同尺寸的高分辨率图像的重建。

2.1 网络模型结构

图2展示了本文算法的网络框架。第一层卷积Conv1作为特征提取层,将低分辨率的图像直接输入至网络,采用64个卷积核对图像进行卷积以提取图像的原始特征信息,生成64个特征图,形成C1层。Conv1层的卷积核的尺寸大小为5×5。

Conv2、Conv3以及Conv4构成了非线性映射层。将Conv1生成的64个特征图输入至残差网络模块,经过残差网络输出64幅特征图,即C3层,然后采用32个卷积核进行卷积操作生成32个特征图,形成C4层。Conv2、Conv3、Conv4层卷积核的尺寸大小都为3×3。

最后一层deconv为反卷积层,运用反卷积上采样操作实现了最终图像重建。本文设计的网络模型中将反卷积核的尺寸设置为9×9,并通过调整步长来调整采样因子,实现低分辨率图像的不同放大尺寸的重建。

2.2 反卷积

当步长s大于1时,卷积相当于下采样操作,而反卷积相当于上采样操作,当步长等于1时,卷积与反卷积本质上相同。网络的复杂度与步长有直接关系,当步长s大于1时,网络的复杂度将会降低s2,但是如果步长过大,会严重影响图像重建的质量。图3展示了反卷积操作过程,该过程可用式(1)表示:

F1(Y)=max(W1*Y+B1,0)+ajmin(0,W1*Y+B1)

(1)

其中,Y为输入的低分辨率图像,参数W1和B1分别是反卷积核的权重矩阵和偏置量,F1(Y)则表示经反卷积操作后得到的上采样图像。通过在反卷积层中设置步长k(参数“stride”),实现对输入图像的k倍放大。

图2 本文算法的网络框架

图3 反卷积操作过程

相较于双三次插值得到一个连续插值函数的方法,插值本质上是图像的低通滤波器,此方法虽能得到比较平滑的图像,然而在插值处理时滤去了图像的高频信息,因而图像在细节上会有所缺失。本文用反卷积代替双三次插值,并将其放置于网络末端用于图像重建,与SRCNN相比较计算复杂度只与LR尺寸相关,提高了网络速度,并且不损失图像细节。

2.3 残差网络

非线性映射是图像超分辨率重建过程中最重要的一个阶段,该阶段对性能的影响最为重大。增大非线性映射阶段的网络层数能够实现更好的低分辨率图像重建效果,但是随着隐藏层数的增加,会出现梯度爆炸/梯度消失以及网络性能退化等问题[11-12]。因此,本文在非线性映射阶段加入残差网络,实现更有效的梯度下降,使得整个网络收敛更快、精度更高,且未引入任何额外的参数以及计算复杂度。残差模块堆积组成残差网络,一个残差块又分为直接映射部分和残差部分[12-14]。图4展示了残差网络中一个残差模块的结构,残差网络结构可由式(2)描述:

y=x+f(θ,x)

(2)

其中,x为残差网络的输入,θ是残差网络结构的参数,f(θ,x)则为网络学习到的残差映射关系,一般由两个或三个卷积操作构成,y表示残差网络的输出。本文采用的残差网络只包含一个残差模块,且残差模块只包含卷积层、激活函数层以及快捷连接,并没有使用批量化单元。

图4 一个残差模块的结构

多个卷积层级联的输出和输入元素间相加得到残差块的输出,利用恒等映射(identity mapping)来构建新增的层,解决了极深度条件下深度卷积神经网络性能退化的问题。同时,恒等映射避免了新增层对模型精度的影响,避免模型变差的问题。此外,在网络训练反向传播时,可加快损失传到前层网络,对前层权重值进行修正,所以总体上提高了网络的精度。

2.4 激活函数与损失函数

本文采用的激活函数为带参数的修正线性单元(PReLU)[15],与ReLU激活函数相比,PReLU激活函数只增加少量计算量,但实现了更高的准确率,并且能够避免ReLU激活函数造成的“dead features”现象[16]。PReLU激活函数在一定程度上能够起到正则效果。

本文采用真实图像与网络预测图像的均方误差(Mean Squared Error,MSE)表示损失函数(Loss Function),如式(3)所示:

(3)

其中,Θ={Wm,bm}表示训练学习的网络参数,F(Ym;Θ)和Xm分别表示网络预测图像与一组真实图像,通过最小化L(Θ)经反向传播修正网络各层的Θ参数,从而得到最佳的映射模型。

3 实验与结果分析

3.1 数据集与训练样本

本文实验采用文献[7]中提供的公开数据集Timofte dataset,该数据集包含91张训练图像和两个测试数据集Set5、Set14。

为了提升训练图像数据的有效性[17-18],本文对91张原始训练图像进行包括旋转、缩放在内的数据扩大,最后得到1 820张图像作为训练集。使用Set5的图像作为训练过程中的验证集。

3.2 结果及分析

为验证本文算法的重建性能以及网络收敛速度,实验中对91个图像分别进行放大倍数为2的500万次迭代训练和放大倍数为3的300万次迭代训练以及放大倍数为4的100万次迭代训练,并使用公开数据集Timofte dataset中的Set5、Set14以及在图像超分辨率重建领域通用的BSD200[19]进行测试,并将测试结果与Bicubic、RFL[20]、FSRCNN-s[10]、SRCNN[21]等方法进行比较。本文使用RMSE(均方根误差)、PSNR(峰值信噪比)、SSIM(结构相似性指数)作为生成的高分辨率图像的质量评价标准。

表1和表2分别展示了当训练集为91[7]张图像时,各重建方法分别在2倍、3倍、4倍图像放大比例下的RMSE均值及PSNR均值。

表3展示了当训练集为91[7]张图像时,各超分辨率重建方法分别在2倍、3倍、4倍图像放大比例下的SSIM均值。表4展示了当训练集为91张图像时,各超分辨率重建方法分别在2倍、3倍、4倍图像放大比例下各测试集上的测试时间。

表1 不同放大比例下各测试集经不同方法处理后RMSE的平均值

表2 不同放大比例下各测试集经不同方法处理后PSNR的平均值

表3 不同放大比例下各测试集经不同方法处理后SSIM的平均值

表4 不同放大比例下在各测试集上重建的测试时间 (s)

由表1和表2可知,本文所提算法RMSE的值明显低于其他方法RMSE的值,而PSNR的值均高于其他方法;从表3可以看出经过本文算法重建后的SSIM的值均高于其他方法;由表4可见,本文算法重建的测试时间更短,效率更高。

图5和图6分别展示了在2倍和4倍方法比例下,Bicubic、SRCNN以及本文方法对图像“butterfly_GT”和“lenna”的重建效果对比。

图5 2倍放大比例下“butterfly_GT”的重建效果对比

图6 4倍放大比例下“lenna”的重建效果对比

4 结束语

针对现有的SRCNN算法,本文提出了一种新的图像超分辨率重建算法,基于卷积神经网络,图像特征提取源自低分辨率的空间,降低了系统算法的计算复杂度,通过反卷积层实现最终的图像重建,同时在网络中加入残差结构,大大优化了网络的性能。实验结果表明,相比Bicubic、SRCNN等方法,本文方法取得了更好的图像重建性能,运算速度大大提升,且在较少次数的训练下达到更好的效果,提高了算法的性能。下一步将研究其他更有效的网络模型,在获得更优的超分辨率重建效果的同时,达到视频实时处理的要求。

猜你喜欢
插值步长残差
基于残差-注意力和LSTM的心律失常心拍分类方法研究
滑动式Lagrange与Chebyshev插值方法对BDS精密星历内插及其精度分析
基于双向GRU与残差拟合的车辆跟驰建模
基于Armijo搜索步长的BFGS与DFP拟牛顿法的比较研究
一种改进的变步长LMS自适应滤波算法
基于残差学习的自适应无人机目标跟踪算法
基于变步长梯形求积法的Volterra积分方程数值解
基于深度卷积的残差三生网络研究与应用
一种非线性变步长LMS自适应滤波算法
基于pade逼近的重心有理混合插值新方法