黄 健,赵元元,郭 苹,王 静
西安科技大学 通信与信息工程学院,西安710600
图像超分辨率重建即用特定算法将同一场景中的低分辨率(LR)图像转换成高分辨率(HR)图像[1],该技术是图像处理与计算机视觉的主要技术之一[2]。高分辨率图像因其具有很高的像素密度,能够获得图像更多的细节特征,而在实际场景中应用广泛。超分辨率重建技术可根据输入图像的数量分为单张LR图像生成HR图像技术和多张LR图像生成HR图像技术。本文着重介绍单幅图像超分辨率重建技术(Single Image Super-Resolution,SISR),该类技术凭借其灵活性与简便性及高实用性,已经被普遍应用在图像压缩、医学成像[3-5]、遥感成像[6]、公共安防[7]等领域,是目前图像处理领域的研究热点。
在过去的研究工作中,传统的单幅图像超分辨率算法已经取得了很大的成功,但是有一定的局限性,因为随着放大倍数的增大,人为定义的先验信息与模型能提供的用来进行高分辨率重建的信息逐渐变少,使得算法达不到重建图像高频信息的目的。传统的SISR方法主要分为三大类[8]:基于插值的超分算法(最近邻内插、双三次插值[9]等),这类算法虽简单但重建图像有伪影和振铃;基于建模的超分算法(最大后验估计法[10]、迭代反向投影算法[11]等),这类算法相较于插值法重建效果较好,但模型运算效率低且受放大因子的影响较大;基于学习的超分算法(局部嵌入[12]、稀疏编码[13]等),该类算法的重建质量最好,是目前研究的主流方向。这些方法都是通过学习HR图像与LR图像样本对的映射函数,或者利用图像的内部相似性来重建HR图像。近年来,深度学习技术在其他领域得到了长足发展,被应用在各类人工智能任务中,且都取得了理想结果,随之基于深度学习的超分辨率技术也得到了积极的探索与发展,目前已经提出了各种各样的基于深度学习的超分辨率算法,且在各种公开数据集上取得了很好的重建效果。目前流行的网络模型为卷积神经网络(Convolution Neural Network,CNN)和生成对抗网络(Generative Adversarial Network,GAN),在缩放因子较大时使用这两个网络模型都能够很好地恢复出图像的高频细节,使输出的图像更接近真实图像。
基于深度学习的超分辨率重建技术的出现,是图像处理领域的一大创举,解决了传统算法中存在的诸多问题。近几年在该领域取得了较大的发展。根据网络模型结构的不同,可以分为以下两大类:(1)基于CNN网络模型的超分方法;(2)基于生成对抗网络GAN网络模型的超分方法。目前,基于CNN网络模型的超分方法是单幅图像超分辨率重建领域应用最广泛的模型。
随着深度学习的发展,在其他领域表现突出的卷积神经网络CNN已经被成功地应用在图像超分辨率重建领域,并取得了很好的重建结果。相比于其他的神经网络方法,CNN提供的端到端学习模型通过梯度下降法训练学习图像特征,更适合图像特征的学习与表达。本文又将基于CNN网络模型的超分方法分为直连模型、残差模型、密集模型以及注意力机制模型。
1.1.1 直连模型
第一个用于单幅图像超分辨率重建的CNN网络模型是由Dong团队在2014年提出的SRCNN(Super-Resoution Convolutional Neural Network)算法[14],是直连模型结构。SRCNN的网络结构简单,如图1所示,该网络包含三个部分:特征提取、非线性映射和重建。
图1 SRCNN网络结构Fig.1 SRCNN network structure
SRCNN先用双三次插值将低分辨率图像放大至目标尺寸大小(唯一预处理),然后用9×9的卷积核进行图像块提取与表示,用1×1的卷积核进行非线性映射,最后用5×5的卷积核完成高分辨率图像重建。网络中通过使用大的卷积核来使浅层网络(3层卷积网络)获得较大的感受野,从而获得了较好的SR重建效果。SRCNN相比于传统的超分辨率算法,重建图像的质量有了很大的提升,但SRCNN的训练速度非常慢。Dong等人针对SRCNN训练慢的问题提出了FSRCNN[15]。FSRCNN网络包括特征提取:直接对原始LR图像操作;收缩:用小卷积核降维以减少参数;非线性映射:感受野大;扩张:利用小卷积核扩维;反卷积层:实现上采样。FSRCNN网络在重建层用反卷积放大输入图像,可直接向网络输入LR图像,降低网络的计算量。同时FSRCNN使用更小的卷积核和更深的网络层数,提升训练速度,重建图像的质量更高。同时Shi等人也研究了如何将低分辨率图像直接输入网络,在2016年提出了亚像素卷积超分重建网络ESPCN[16]对SRCNN的重建部分进行了改进,通过亚像素卷积层来放大图像,降低网络的计算量,训练速度有了成倍的提升。以上算法网络结构简单,实现非常容易,但该网络存在的致命缺点是网络中使用大的卷积核以及输入插值放大图像,导致浅层网络需要大量参数来计算,使网络加深加宽时参数逐渐变多,网络训练难度大,难以收敛,SR重建效果不佳。
1.1.2 残差模型
传统神经网络会随着深度加深而导致网络性能退化,残差网络的提出解决了这个问题,目前大部分研究人员都在使用残差网络,它成功加深了ResNet[17]网络的深度,成为现在模型中应用最广泛的技术。原始低分辨率图像与重建的高分辨率图像在很大程度上相似,即它们的低频部分信息基本一致,残差学习用稀疏矩阵学习来代替原始稠密矩阵学习,使计算量大幅度降低。残差网络分为局部残差和全局残差,局部残差主要用来解决随着网络的加深导致图像退化的问题,全局残差通过学习输入图像与原始HR图像的极大相关性来重建图像。Kim等人提出的VDSR算法[18]首次将残差网络引入单图像超分辨率方法中。该网络在输入输出之间用残差进行连接使网络的深度高达20层,仅学习LR图像与HR图像之间的高频残差部分,同时使用自适应梯度裁剪来解决网络加深时训练困难性能下降的问题,其网络结构如图2(a)所示。VDSR的实现证明网络结构越深重建效果越好。RED[19]是由卷积与反卷积构成的编码器和解码器,卷积层用来进行图像的特征提取,反卷积层用来恢复图像的内容和细节。网络中的卷积层与反卷积层的残差跳接结构,使网络的深度加深到30层并能恢复出更清晰的图像。
更深的网络存在过度拟合和模型过于复杂的问题,为了缓解这一问题,提出了递归学习。Kim团队在VDSR算法的基础上通过使用全局残差网络、多目标优化函数以及递归学习策略等方法提出了DRCN算法[20],网络结构如图2(c)所示。首次将递归神经网络引入到图像超分辨率算法中并取得了很好的效果。Tai等人又在DRCN的基础上提出了DRRN算法[21],其结构如图2(d)所示,该算法采用多路径方式的全局残差和局部残差进行学习,同时在残差单元中引入了递归循环,加深网络的同时没有带来更多的计算量,加快了收敛速度,取得了更好的效果。这种方法证明通过递归网络与残差网络的结合能够使图像层间的信息相互通信及上下文信息相互关联,对网络层间连接的建设提供指导思想。EDSR(Enhanced Deep Residual Networks for SR)算法[22]提出使用全局残差和局部残差来学习图像的更多高频细节,同时也可以降低网络的训练难度。具体做法是移除残差块中的BN层(批归一化层),增加了卷积层的特征个数(由64改为256),提升了网络的重建效果,其网络结构如图2(b)所示。
图2 VDSR、EDSR、DRCN、DRRN网络结构对比Fig.2 VDSR,EDSR,DRCN,DRRN network structure comparison
分层特征融合可以充分利用网络中不同层提取的图像特征信息,有助于重建更准确的高分辨率图像。首次使用分层融合方法实现图像重建的算法是基于拉普拉斯金字塔网络的单幅图像超分辨率LapSRN[23],它将低分辨率图像分为高频细节和低频内容两部分,分别对这两部分采取不同的方法处理后将图像融合以得到高分辨率重建图像。LapSRN提升了网络训练速度和图像质量。
1.1.3 密集模型
网络深度的增加使得梯度消失越来越明显,受残差连接的启发,密集连接的提出能够缓解这类问题。密集连接中的特有的跳跃连接方式可以使每一层的输入都充分吸收该层前面所有层的输出,充分利用不同卷积层提取到的细节特征信息,使输出层得到更多的参考信息来重建SR图像,基本结构如图3所示。基于密集块网络的SISR网络SRDenseNet首次将密集连接网络应用于图像重建,重建的SR图像质量有了很大的提升。该网络通过堆叠密集连接的卷积层组成的稠密块,来融合LR图像的不同特征信息,增大了网络层中信息交流的能力,并且有效抑制了梯度爆炸和梯度消失的问题[24]。He等人在SRDenseNet的基础上提出了残差密集网络RDN[17],该方法在密集块结构的首尾增加残差连接和卷积来进行特征降维,构建RDN的基本单元残差密集块RDB,网络结构如图4所示。RDB的作用是整合残差块和密集块,RDN充分利用每一个RDB学习到的图像分层特征,使模型具有更强的特征表达能力,重建图像的质量更好。
图3 密集连接网络结构Fig.3 Structure of dense connection network
图4 RDN网络结构Fig.4 Structure of RDN network
后来Haris等人在密集连接的基础上又提出了深度反投影网络D-DBPN[25],该网络构建了多个上下投影单元来进行浅层特征到深层特征的映射,同时使用密集连接的方法使浅层网络和投影网络的输出堆叠到迭代单元的输入,使最终恢复图像的效果优于SRDenseNet。这类方法将稠密块应用到了网络中,加强了图像特征交流和图像特征复用,极大丰富了重建模块输入图像的信息以得到更加准确的特征细节来重建更好的图像。
1.1.4 注意力机制模型
上述的网络模型在各个通道都是对图像的特征映射同等处理,但是在人类的视觉环境中图像在不同的区域和通道中有着不同的重要性,如果等价处理这些映射将会造成计算量资源大,限制了网络的深度。
注意力机制被引入到图像超分辨率重建中,并且取得了很好的效果。如RCAN[26](Super-Resolution Using Very Deep Residual Channel Attention Networks),该算法通过学习不同通道的重要性得到权重值,来自适应地调整每个通道特征,强化有用通道的同时抑制无用通道,充分利用计算资源。通道注意力机制结构如图5所示,其中HGP用于运算提取通道描述符,WD与WU为全连接层的参数,f是非线性变换,相当于对不同的通道特征重新加权分配。RACN还通过使用全局残差和局部残差结构使网络的深度高达400层,恢复图像效果得到显著提升,总体来说,RCAN在PSNR和SSIM值上都取得了最佳重建结果。
图5 RCAN网络结构Fig.5 Structure of RCAN network
现有的基于CNN网络模型的超分算法不论是恢复图像的准确性还是训练速度都取得了重大突破,但还存在一些缺陷,如图像缺乏高频细节,图像边缘模糊,尤其在较大的放大因子下,这种缺陷更加明显。对抗网络的引入将超分重建图像的质量推向了一个新的高度,使网络能够生成更加精细的纹理细节,进一步增强重建图像的视觉效果。
Leding等人首次将GAN[27]应用到图像超分辨率重建领域中,在2017年提出了SRGAN(Photo-Realistic Single Image Super Resolution Using a Generative Adversarial Network)算法[28],SRGAN的生成器网络结构主要由多个结构相同的残差块组成,包括两个3×3卷积层和64个特征映射,然后是BN层[29]及PReLU激活函数[30],最后通过两个亚像素卷积层用来实现图像上采样。SRGAN的鉴别器网络同样包括多个卷积层,特征通道由64逐渐变为512,激活函数为LReLU,最后使用两个全连接层和S型激活函数得到样本的分类概率。SRGAN的训练原理是生成器生成的图像尽可能骗过鉴别器,而鉴别器则尽可能区分生成器生成的图像与真实高分辨率图像,通过双方的相互博弈,克服了1.1节所提网络模型恢复图像质量差的缺点,使恢复的图像更加自然。
随后,ESRGAN[31]通过移除SRGAN生成网络中的BN层来降低重建图像中产生的伪影,并且结合多级残差网络和密集连接提出密集残差块RRDB,如图6所示,该结构具有更深更复杂的网络结构,因此具有更高的容量,更容易训练。在判别网络中使用相对平均判别器,生成更稳定、质量更高的数据样本,提升模型的训练稳定性和图像的重建质量。
图6 RRDB网络结构Fig.6 Structure of RRDB network
基于生成对抗网络GAN网络模型的超分方法相较于基于CNN网络模型的超分方法能够获得更接近人眼真实感知的重建图像,所以它更适合一些对感官要求比较高的图像重建任务。但是对于需要高精度像素信息的任务,明显不适用。基于生成对抗网络GAN网络模型的超分方法学习速度慢,网络计算较复杂,对硬件要求高,所以训练难度很大。
1.1至1.2节分别详细介绍了基于CNN网络模型和基于GAN网络模型的超分方法。整体而言,这两类算法的重建质量在不断提高,模型的训练速度也有一定的提升。表1总结了不同网络模型的优缺点及适用场景,表2总结了不同算法的网络结构及优缺点对比。由表1可以看出,随着深度学习的发展,超分辨率重建算法的网络越来越复杂,重建效果也越来越优,已经达到了很高的水平,但是随着网络复杂度的提高也带来了计算量的增大,因此模型训练难度也加大,难以满足实时重建。由表2可以看出,研究人员在不断尝试引入新的网络到超分辨率重建领域,加深网络的深度,使重建图像的质量和网络的训练速度越来越好。基于深度学习的图像超分辨率重建方法在发展的过程中,不断解决之前算法的缺陷,向着满足更高更多样化需求的方向发展,基于生成对抗网络GAN模型的超分方法的提出更是提升了重建图像的真实感。但是同时也面临着新的挑战,模型训练慢的问题始终没有得到根本性解决。未来该领域的发展,应在提高重建质量的同时提升训练速度,并能降低模型的规模以满足实际应用中对于模型规模限制的要求,使该类模型能在一些硬件平台上得到大规模的部署和应用。
表1 不同网络模型的优缺点及适用场景Table 1 Advantages and disadvantages of different network models and applicable scenarios
表2 不同算法的网络结构及优缺点Table 2 Network structure and advantages and disadvantages of different algorithms
图像超分辨率尺度放大其实质是图像上采样,放大原图像并提高图像的分辨率。根据上采样的方式和时机,模型所重建的图像效果大不相同。
目前,该领域常见的图像上采样方式主要有:基于插值的图像SR上采样、亚像素卷积图像SR上采样和反卷积图像SR上采样。
基于插值的图像SR上采样是利用合适的内插算法在图像原始像素点的中间插入新生成的像素点。使用插值法来放大图像的算法主要有最邻近插值法和双三次插值法等。基于插值的图像SR上采样方法计算量小,原理简单,能够高效率地放大低分辨率图像的尺度,但是这种方法由于没有考虑到离待测样点远的其他像素点的影响,因而图像像素损失较大,重建图像有锯齿和模糊现象。早期使用插值法来放大图像的算法包括SRCNN、VDSR等。
亚像素卷积[16]图像SR上采样是一种高效、快速、无参的像素重新排列的上采样方式,如图7(a)所示,它的原理是输入r2个通道的特征图,通过特定的算法规则将所有的像素重新排列,最后生成一幅尺度放大的图像。这种方式非常灵活,对于不同的重建倍数,只需要改变低分辨率空间中的卷积通道数,且上采样速度很快,可以实时地实现上采样。
反卷积(Decnvolution)[32]即卷积操作的逆运算,是将卷积变换过程中某一步骤反向转换,对图像进行补零扩充操作再卷积,将小部分缺失像素信息最大化恢复,从而放大图像的尺寸,其原理如图7(b)所示。该方法属于基于学习的上采样方法,能够减少图像锯齿状失真等现象。目前SISR重建领域最常用的方法就是反卷积图像SR上采样,如FSRCNN、EDSR等。
图7 亚像素卷积和反卷积实现原理Fig.7 Principle of deconvolution and sub-pixel convolution
目前SISR重建领域上采样时机包括预先上采样、后上采样、渐进上采样及迭代变动上采样。
预先上采样考虑到直接学习LR图像到HR图像比较困难,因此先使用传统的插值法将图像上采样到HR图像,再通过神经网络精调。最早使用预先上采样方法的是SRCNN算法,后来VDSR、DRCN及DRRN都使用该方法对图像进行上采样。由于该方法将最困难的上采样操作交给了传统的方法,神经网络值需要对上采样后的粗糙图像进行调整,因此减少了训练难度。但是在预处理阶段进行上采样操作,增大了网络的计算量,且网络深度越深计算量越大,模型的效率和重建图像的质量都有待提高。
后上采样解决了预先上采样计算量大的问题,将上采样操作放在SISR模型的最后一个模块,通过亚像素卷积或者反卷积重建来放大图像的特征尺度。使用该方法的网络模型有FSRCNN、ESPCN等。后上采样方法虽然提高了计算效率但恢复出的图像存在失真和重建质量差的问题。
为了解决后上采样中的问题,研究学者们提出了渐进上采样,在级联的深度卷积神经网络模型下,每个阶段都进行一次上采样,从而得到更高分辨率的图像,最后再使用卷积神经网络进行精调,实现较好的上采样效果,使恢复的图像质量更优。渐进上采样使用低倍上采样(2倍)来解决大尺度(4倍、8倍)上采样的问题。使用该方法的网络有LapSRN和EUSR,表3为ESUR算法[33]使用不同的上采样方法重建图像的效果,其中数字加粗表示最优,可以看出相比于直接上采样,渐进上采样恢复图像的效果更好。
表3 ESUR算法中采用不同上采样方法重建效果对比Table 3 Comparison of reconstruction effects using different upsampling methods in ESUR network
迭代变动上采样方法是迭代地进行上采样之后再进行反向传播并且精调,它是通过计算重建误差来调整高分辨率图像的。这种方法能够学习到更多不同深度的图像上采样特性,通过图像在不同层的特征来重建上采样图像,使得恢复的图像拥有更多细节特征。迭代变动上采样方法被应用在DBPN和SRFBN算法[34]中,都展现出良好的重建效果。DBPN网络通过交替循环连接上采样层和下采样层,最后用所有中间重建图像来重建最终的HR图像,使得重建出的图像效果更佳。SRFBN通过迭代具有密集跳跃连接的上下采样反馈块来学习,使重建出的HR图像更好。近年来,迭代变动上采样方法也是研究学者们使用的主流方法之一。
目前在单幅图像超分辨率重建领域常用的损失函数主要有像素损失函数和感知损失函数。
许多超分辨率重建网络训练模型都是以均方误差(MSE)[35]作为损失函数训练网络的,如SRCNN、DRCN、FSRCNN等。MSE计算的是实际值与目标值之间绝对值的平方和,其表达式如下:
其中,n为训练样本的数量,θ为训练参数,F(Xi,θ)网络重建后的图像,Yi为对应的高分辨率图像。MSE衡量了网络重建出的高分辨率图像与原始高分辨率图像之间的差值,使得基于深度学习的图像超分模型在性能方面有了很大的提高。但是MSE损失能够对大的损失进行惩罚,在小的损失上却无能为力,因此恢复出的图像会模糊。与MSE类似的另一种损失函数为绝对值误差MAE。它计算实际值与目标值之间绝对差值的总和,LapSRN、ESRGAN等都使用MAE损失函数取得了较好的效果。其表达式如下:
为了提高模型的泛化能力,Lai等人提出了L1损失的变体,其表达式如下:
基于像素的损失函数没有考虑到图像的感知、纹理质量,在视觉上难以令人满意。在GAN被应用于图像超分辨率领域之后,基于感知的损失函数因其能恢复更丰富的高频细节而被广泛应用。目前,基于感知的损失函数主要有内容损失和对抗损失,其中内容损失又分为特征重建损失和风格重建损失。
Smonyan等人[36]首次通过预训练的VGG19网络提取重建图像与原始高分辨率图像在特征空间中对应的特征映射提出特征重建损失函数,其表达式如下:
其中,GθG(X)为生成的高分辨率图像,ϕj为VGG19网络内第j个卷积获得的特征图,W和H为特征图的宽和高,X、Y为原始LR图像和重建的HR图像。实验表明,在网络模型中使用特征重建损失函数能够获得比基于像素损失更好的视觉效果。Gatys等人[37]在特征重建损失函数的基于上又提出了风格重建损失函数,该函数首先在loss网络的每一层中对原始LR图像和重建的HR图像计算Gram矩阵,计算公式如下:
随后在对应层中计算Gram矩阵的欧式距离差并相加得到风格重建损失函数,如式(6):
风格重建损失使重建图像与原始图像在条纹、色泽上保持一致,重建出的高分辨率图像质量更优。
SRGAN网络首次提出对抗损失,其基本形式如下:
其中,DθD(GθG(X))为模型生成的HR图像,GθG(X)是原始HR图像的概率。网络最终的优化目标为最小最大化问题:
其中,Ptrain(IHR)为HR图像分布,PG(ILR)为原始LR图像分布。对抗网络训练使得生成的图像与原始高分辨率图像高度相似,使判别器难以区分,最终获得高度接近原始高分辨率的图像。ESRGAN网络中使用了相对平均判别器[38],让判别器预测真实HR图像比生成HR图像更真实的概率。
其中,C(real)为鉴别器判别结果,E[C(fake)]为鉴别器网络判别结果的平均值,σ为Sigmoid激活函数,ESRGAN实验结果表明使用相对平均判别器恢复出的图像具有更锐利的边缘和更多的纹理细节。
3.1至3.2节分别详细介绍了图像超分辨率重建领域常用的两种损失函数。其中像素损失始终反映的是图像像素之间的误差,而没有考虑到像素与像素之间的内在联系,因此恢复的图像边缘模糊有振铃现象,如FSRCNN、DRCN等算法恢复出的图像边缘模糊。内容损失通过使用特征足够相似来促进生成图像的质量,而对抗损失可以使鉴别网络可以提取真实图像中的一些难以获取的潜在特征将解决方案推向自然图像流形,在感知质量上有显著的提高使重建图像相对真实,但图像的PSNR[39-40]值下降了。随着损失函数的发展,图像超分辨率重建的质量也越来越高,满足更高更多样化的需求。但是现有的损失函数仍然不能充分结合图像中的语义、内容等信息来重建图像,未来该领域损失函数的发展,应在提高PSNR值的同时恢复图像中的更多纹理细节,满足人眼观感。
本章对现有的单幅图像超分辨率重建算法进行性能对比。通过PSNR和SSIM评价指标来度量超分算法的性能[41]。所对比的算法包括双三次插值Bicubic和10个文中提到的基于深度学习的单幅图像超分辨率重建算法。在公开数据集DIV2K[42]上训练,网络在Set5[43]、Set14[44]和BSD100[45]数据集下完成测试,基于像素损失函数的SR方法实验结果如表4。
表4 不同数据集下基于像素损失函数的SR算法的PSNR和SSIM值对比Table 4 Comparison of PSNR and SSIM values of SR algorithm based on pixel loss function under different data sets
对比实验数据可以明显看出基于深度学习的算法相比传统算法的PSNR值和SSIM值都有了很大的提升。作为图像超分辨率重建领域的开山鼻祖,SRCNN在插值方法的基础上利用卷积网络强大的特征学习能力,构建了端到端的映射,使重建图像的质量远超双三次插值Bicubic算法。随着SRCNN的突破性进展,研究学者们在该算法的基础上提出很多超分辨率算法,如FSRCNN在SRCNN的基础上加快了训练速度且恢复出更好的图像,VDSR、DRCN、DRRN、EDSR将残差连接与稠密连接引入网络来构建更深更复杂的网络结构,实验表明能够获得更好的恢复效果。LapSRN算法融合了网络中不同层提取的特征信息,简化网络结构提升了训练速度,恢复图像的效果接近DRCN。目前最好的算法是RCAN,它在EDN的基础上将注意力机制引入网络通道中,同时构建残差结构加深网络深度,放大因子为2时,与传统Bicubic算法相比在Set5、Set14和BSD100数据集上的PSNR值分别提高4.67、3.99和2.9,SSIM值分别提高0.031 8、0.053 7和0.06;放大因子为3时,PSNR值分别提高4.46、3.21和2.18,SSIM值分别提高0.062 3、0.075 2和0.073 7;放大因子为4时,PSNR值分别提高4.31、2.98和1.89,SSIM值分别提0.909、0.088 3和0.078。通过观察实验数据可以看出,算法的网络越深,重建图像的质量越好。随着放大因子的增大,算法的性能提升越来越弱,因此对于大的放大因子图像超分辨率重建仍然具有很大的挑战。
基于像素的损失函数存在的问题是重建图像边缘平滑,缺乏高频信息,人眼视觉感知效果并不是很好。感知损失函数能在一定程度上提升图像的人眼视觉感知质量。Set14数据集上放大因子为4时基于感知损失函数的网络与基于像素损失函数的网络重建图像的结果比较为表5。L1、L2表示MSE损失函数和MAE损失函数,LC、LGAN表示内容损失函数和对抗损失函数。其可视化效果图如图8。由表5可以看出,基于感知的损失函数网络(SRGAN、ESGAN)相比于基于像素的损失函数网络(EDSR、SRCNN)重建图像的PSNR值有所下降。但是对比图8的可视化效果可以看出,基于感知的损失函数网络恢复出的图像纹理更丰富,边缘更清晰,图中胡须毛发相对比较清楚,更接近原始图像,人眼的感知效果更好。ESRGAN结合感知损失和像素损失,均衡了视觉感知和像素精确值,使重建图像在视觉上更符合真实图像。
表5 不同类型损失函数算法Table 5 Different types of loss function algorithm
图8 Set14数据集上不同网络重建图像效果可视化Fig.8 Visualization of effect of different network reconstruction images on Set14 dataset
本文在对单幅图像超分辨率重建网络广泛研究的基础上,系统总结了基于深度学习的图像超分辨率重建算法的发展情况,从网络模型结构、尺度放大方法和损失函数三个方面来详细介绍了图像超分辨率算法,分析主流算法的网络结构和优缺点,并对其性能进行对比。
总体来看,基于CNN的图像超分辨率重建网络结构越来越复杂,近几年许多研究学者在这些主流算法的基础上不断改进,重建图像的像素精确值越来越高[46],但是人眼感知效果并不理想,且重建速度上普遍偏慢,难以满足实际应用的实时性需求,在应用推广上面临困难。而基于GAN的图像超分辨率重建网络虽然在图像的像素精确值上不如前者,但是重建出的图像在人眼视觉感知上更有优势,随着近几年的发展,其恢复出的图像更逼真更自然,且重建图像的像素精确值也在逐渐提高[47-48],在实际应用上更有潜力。未来的研究方向将更专注于像素值、视觉感知和速度的结合,借鉴CNN高像素精度和GAN高感知质量的优势,同时提高像素值与感知质量,以满足实际需求。
深度学习的快速发展,以及硬件设施的不断完善,为图像超分辨率领域提供了非常好的发展机遇。虽然现有的深度学习图像超分辨率重建算法的性能已经远远超越了传统算法,但是还有很多改进空间。如何实现任意放大倍数的超分重建,如何在放大比例较大时保证重建出的高分辨率图像质量,如何选择重建图像的质量评价标准,如何更好地利用场景信息和图像的语义、内容信息,如何满足视频监控、卫星遥感成像、医学图像、刑侦分析和人脸识别等实际应用领域的精确性和实用性的需求等,这将是接下来图像超分辨率重建领域的重点研究方向。