韦玉婧,林贵敏,邱立达,张 腾
(闽江学院物理学与电子信息工程学院,福建 福州 350108)
高清图像可以提供更多的纹理细节信息,在现实生活中有着广泛的应用。例如:高清的医学图像有助于帮助医生进行更准确的疾病诊断,高清的监控图像有利于公安部门进行疑犯的追踪与识别。由于在实际的成像过程中,受到成像环境、成像设备等多因素的影响,采集到的图像在空间分辨率上往往不能达到实际应用的要求。通过更换更高空间分辨率的成像设备,将面临着高昂的经济成本。采用软件算法的方法实现图像空间分辨率的提升就显得既经济又高效。因此,针对图像的超分辨率重构已成为机器视觉领域中的一个研究热点。
超分辨(super-resolution, SR)重构的目的就是由单张或多张低分辨率(low-resolution, LR)的图像来重构出一张更高空间分辨率(high-resolution, HR)的图像。值得注意的是,超分辨率重构是一个病态的(ill-posed)问题。因为差异较大的多张超分辨图像,经过下采样之后可能得到相同的低分辨率图像。针对超分辨率重构的方法,大致可以分为3类:基于插值的(interpolation-base)、基于重建的(reconstruction-based)和基于样本学习的(example learning-based)。基于插值的超分辨率重构方法并不能有效地恢复图像的高频信息,因此重构得到的图像往往带有明显的锯齿。基于重建的方法是通过反向投影在LR上求差值来完善HR图像,并引入一些先验知识作为约束条件。由于这个问题有无穷多个解,一般采用迭代的方法求解,因此称为迭代反向投影(iterative back-projection, IBP)算法[1]。IBP重建出的HR图像,若再次通过下采样得到的LR图像会随着迭代次数的增加与输入LR图像更相似。 IBP重建增强了HR图像中的高频分量,如图像中边缘两侧的对比度,但该方法只是简单的反向投影任何差值,HR图像中的梯度可能会被过度放大而导致振铃效应。 因此,西安交通大学Sun[2]他们团队提出了更加复杂的从自然图像中获取先验知识的统计学估计方法。然而,试图仅使用很少的参数来获取图像中丰富的特征信息是难以做到的。Yang等人[3]进一步提出了基于实例的非参数方法来预测高分辨率图像中丢失的高频部分,使用的训练集为通用的低分辨率与高分辨率配对的图像块训练集。与前两类超分辨率重建方法相比,基于样本学习的超分辨率重建方法是通过机器学习方法从训练样本集(低分辨率、高分辨率图像对)中提取所需的特征信息,利用训练样本中得到的先验知识对测试样本的所需信息进行预测,从而提高图像分辨率。
目前取得效果较好的超分辨率重建方法,大多是基于样本学习的。根据学习的策略不同,又可以将基本样本学习的方法再分为两种:基于编码的方法和基于回归的方法。基于回归的方法有支持向量回归、核回归、近邻回归、线性回归、高斯过程回归(GPR),以及神经网络等。其中,GPR由于具有无参和强大的非线性映射能力等优点而被广泛应用于图像的超分辨率重建。如香港理工大学He等人[4]基于GPR设计了SRGPR方法实现图像超分辨率重建。He他们将整个SR过程分成两个步骤:先对输入的LR图像进行回归训练得到放大后的SR图像的初步结果,再对得到SR图像进行二次加工以实现去模糊,最终得到更为清晰的重建图像。这种方法虽然效果不错,但整个SR图像的重建过程非常耗时,不利于实际应用。自 2012 年 AlexNet[5]取得里程碑式突破,深度卷积神经网络(CNN)得到广大研究者的重视,并已在机器视觉的各领域取得丰硕的成果。如Dong等人[6-7]将稀疏编码的训练过程与CNN的学习过程联系起来,率先将CNN应用到图像的SR重建,提出了SRCNN模型。本文在CNN的启发下,将SRGPR流程转化成一个深度卷积神经网络(DCN),并通过端对端的训练方式实现LR到HR的非线性映射。
根据图像的成像原理以及SRGPR的非线性映射流程,设计一个由4个卷积层构成的深度卷积神经网络(DCN)以实现单图像超分辨率重建,网络结构如图 1所示。根据卷积神经网络的工作原理,将DCN分成特征提取、非线性映射、图像重建,以及去模糊4个部分。输入LR图像,先对LR图像进行一个预处理,即采用插值法将LR图像放大到所需的空间分辨率,然后再送入CNN网络。CNN网络经过多次的映射处理最后重建出更清晰的SR图像。训练CNN的目的,就是希望CNN能够从训练集中学习LR到HR之间的非线性映射关系,而非人为地去设计一个复杂的非线性映射函数。训练阶段须采集大量配对的LR和HR训练集,网络模型训练完成之后就可以脱离训练集,直接投入实际应用。因而,DCN在训练时会比较耗时,而到实际应用时整个SR的重建速度将比SRGPR快上几个数量级。
图 1 网络结构框架图Fig.1 Frame diagram of the proposed network structure
由于整个DCN具有上万个未知参数,如果没有正确的初始化,将导致网络在训练时出现反馈梯度的消失或无穷大,而致使训练过程无法收敛。根据前人对CNN网络结构的研究,知道CNN网络的第一层主要是完成图像的特征提取,而学习到的特征与Gabor滤波器效果类似。因此,将设计一组具有不同波长λ和方向θ的Gabor滤波器来初始化DCN网络的第一层,从而缩短网络的训练时间。DCN网络余下的3层,将从具有零均值和0.001标准差的高斯分布中随机取值进行初始化。初始化所需的Gabor滤波器数值可用下列方程计算:
(1)
在CNN模型中,一个卷积层通常是由卷积操作和激活函数组成。其中激活函数主要完成对输入数据的非线性转换。一个CNN网络的非线性映射能力,主要来源于网络中的激活函数。无参的修正线性激活函数ReLU已被实践证明是比较成功的,既能有效提升网络的性能,有助于网络的收敛。但ReLU函数也存在一定问题,因为当输入的数据小于0时将被舍弃,这也将导致在进行梯度计算时,它的梯度值将消失而无法进行网络参数的有效更新。因此,为了避免产生零梯度,在设计的DCN模型中,采用带参数的修正线性激活函数(parametric rectified linear unit, PReLU)),它的定义如下:
f(x)=max{0,x}+αmin{0,x}, (2)
其中α是可学习的参数。当同个卷积层共享一个α参数时,PReLU函数与ReLU函数的处理速度相当,且既有更好的收敛性。值得注意的是,α 参数的学习可以直接融入整个网络的训练当中,即也是采用端对端的训练方式。
为了有效训练网络,需要合理设计一个目标函数,通过最小化目标函数,达到优化网络的目的。假如有一组由预处理过的LR图像{Xi}和对应的HR图像{Yi}组成的训练集,要优化DCN模型,只需通过一个回归模型最小化如下目标函数:
(3)
其中F(·)表示DCN网络的映射函数,L(Θ)表示数据项,‖W‖2表示权重正则化项,λ表示权重衰减系数,Θ 表示网络参数,Θ={W1,W2,W3,W4,B1,B2,B3,B4,α1,α2,α3}。Wi是DCN第i层的权重值,Bi是其偏置项,αi是第i层激活函数PReLU的参数。
为了能以端对端的方式学习非线性映射F(·)函数,必须通过最小化等式来完成DCN网络参数Θ的求解。为求目标函数的最小值,通常可以采用随机梯度下降法(stochastic gradient descent, SGD)。SGD沿着局部最小值的梯度反方向,按一定的比率逐渐下降。然而,当处于平滑或曲度较小的区域时,SGD的下降速度较慢,甚至不再下降。因此,在SGD的基础上引入动量,以加速SGD收敛。采用动量的随机梯度下降法,网络权重参数W的更新规则如下:
(4)
采用91张图像[3]作为基础数据集,并通过对图像的旋转和上下翻转以扩大数据集。从数据集中抽取了130 000 张LR样本,每个LR样本的空间大小是33 pix×33 pix。通过在公共标准测试集Set5[8]上,以放大3倍的方式对DCN网络性能进行了定性和定量的评估。为了与其它算法公平对比,只对图像的亮度通道进行超分辨率重建。
设计的4层深度卷积网络,每层的通道数分别为64、32、16和1,每层卷积所用的卷积核大小分别是9、3、5和3,每层卷积操作所用的边界填充大小分别是0、1、1和0。整个DCN网络共有36 560个权重参数.DCN网络是在单张GTX960-4 G GPU上训练的,经过9×106次迭代之后,在Set5测试集上DCN的PSNR测量结果为32.95 dB。
将设计的DCN网络与其他一些较前沿的算法在测试集Set5上进行比较。考虑到人眼对亮度较为敏感,因此对比实验均只采用亮度一个通道。表 1是本文所设计的DCN与其它较前沿的算法在PSNR、SSIM和FSIM这3个指标上进行对比的结果。这些方法包括:基于稀疏编码的ScSR方法[3]、基于外部样本的KKim方法[9]、基于高斯过程回归的SRGPR方法[4]、近邻锚点回归方法ANR[10]、领域置换上采样法UDF[11],以及基于CNN的SRCNN方法[7]。从对比的结果可以看出,在Set5数据集上设计模型DCN在3个客观指标上均明显超越于其他6种方法。这也说明用卷积神经网络的方法实现SR重建,比以往的方法更有效。
表1 在Set5数据集上的PSNR(dB), SSIM和FSIM测量结果
为了从人眼视觉的角度也进行定量的比较,从Set5数据集中抽取了一张蝴蝶和一张女性的图像,用不同的算法对其进行3倍数的SR重建,结果如图 2和图3所示。两图左边是原始图像,红色框中是感兴趣的区域ROI.右边是不同算法重建的结果。从图2 (a)和(d)可以看出,用ScSR和ANR这两种算法重建后在蝴蝶翅膀边缘存在明显的锯齿和水纹伪影而导致边缘的纹理模糊;(b)和(e)存在明显的锯齿效应;(c)和(f)存在明显的振铃效应;而用DCN重建的图像(g)具有清晰的边缘信息,同时又能尽量避免引入不必要的伪影,使得重建的图像更逼真,视觉效果更好。
图2 3倍数重建的蝴蝶Fig.2 SR reconstruction (×3) on butterfly image
图3女性的头巾区域存在较多的高频信息,特别是头巾上的细孔。从几种不同算法重建的结果可以看出,重建的效果与原图像都存在一定的差距。其他几种方法几乎无法重建出头巾上的细孔,而DCN算法能恢复出部分头巾上的细孔,使得重建的图像更接近原图像。
图3 3倍数重建的女性图像Fig.3 SR reconstruction (×3) on woman image
通过深度学习技术,依据SRGPR的重建流程,设计了一个4层的卷积神经网络,实现图像的超分辨率重建。将设计的网络模型与其他一些前沿是SR算法在公共标准测试集Set5上进行了PSNR、SSIM和FSIM 3个指标的定量对比,并从人的视觉角度进行了定性分析,比较的结果表明设计的模型在超分辨率重建方面有明显的优越性。但根据对深度卷积网络的研究可知,网络的非线性映射能力与网络的深度有较大的关系,因此合理地设计更深的卷积神经网络将有可能进一步提升SR算法的性能。