APP下载

基于深度学习的单幅图像超分辨率重建算法综述

2021-12-01李佳星赵勇先王京华

自动化学报 2021年10期
关键词:残差分辨率损失

李佳星 赵勇先 王京华 ,4

单幅图像超分辨率(Single image super-resolution,SISR)重建是根据一张低分辨率(Low resolution,LR)图像恢复出高分辨率(High resolution,HR)图像的过程,研究超分辨率的学者将图像重建成×2、×3、×4、×8 这4 种尺度的较多,其中×2 代表将图像的边长放大2 倍,即像素密度增加4 倍,×3、×4 和×8 与其同理.如何保证重建后图像的质量更接近Ground truth 图像成为了研究热点,其目标如下:

其中,x为LR 图像,y为对应的Ground truth 图像,Fsr(x)为运用某种算法重建后的HR 图像,λ为平衡参数,Φ(y) 为正则化项.

超分辨率重建在卫星、遥感、天文学、安防、生物医学等诸多领域以及恢复珍贵的历史图像资料上起到了非常重要的作用.目前在计算机视觉上单幅图像超分辨率已经成为一个专门的学术问题,吸引了国内外众多学者的关注与研究.

在深度学习未兴起前,经典的单幅图像超分辨率算法占据主导地位,Lanczos 重采样[1]和双三次插值[2]得到了广泛的应用,但采用插值方法有时会导致图像边缘和细节模糊,因此其他传统算法也被相继提出[3−5],有效地增强了图像的质量.经典的超分辨率重建算法需要很多先验知识,且要求研究者具有深厚的专业知识储备.随着深度学习的兴起,由于该技术不需要过多的先验知识,且重建后的图像质量优于传统算法,因此得到了广泛的关注.Dong等[6]首先将卷积神经网络应用到图像超分辨率重建技术中,提出了超分辨率重建卷积神经网络(Superresolution convolutional neural network,SRCNN),图1 为SRCNN 的模型框架图,虽然只有三层神经网络,但相比于经典超分辨率算法,取得了显著的效果.SRCNN 的出现,吸引了国内外学者将神经网络的各种变体应用到图像超分辨率研究中,包括卷积神经网络[7]、对抗神经网络[8]以及二者的结合[9]等.

图1 SRCNN 网络结构[6]Fig.1 The SRCNN network structure[6]

本文从超分辨率图像数据集、基于深度学习的单幅图像超分辨率重建的研究进展、图像质量评估准则、实验结果与分析以及存在的问题与挑战出发,对单幅图像超分辨率重建进行了全面综述,系统的回顾了单幅图像超分辨率重建技术的发展.

1 超分辨率图像数据集

为了方便比较算法的优异性,许多学者在提出超分辨率重建算法的同时会公布数据集,以供其他学者们使用.目前国际上已经形成了专用于超分辨率图像公共基准数据集,如使用较为广泛的Set5[10]、Set14[11]、Urban100[12]、General-100[13]、BSDS300[14]、BSDS500[15]、Manga109[16]、T91[17]等,这些图像来源不同,有人物、动物、风景、建筑、生活上常见的景象以及虚拟合成的动漫图像等,且每个数据库图像的分辨率、质量各不相同,各个数据集的图片数量与格式也并不同,有JPG、PNG 与BMP 等图像格式,表1 和表2 列出了几种常用超分辨率图像数据集的详细信息.除了以上那些图像数据集,DIV2K[18]、L20[19]、OutdoorScene[20]、PIRM[21]、ImageNet[22]、MSCOCO[23]、VOC2012[24]、CelebA[25]、LSUN[26]、WED[27]、Flickr2K[28]、City100[29]和SR-RAW[30]等数据集也被应用在图像超分辨率重建中,大大扩充了数据集的数量与种类,有利于检验各个模型的泛化能力.使用同样的基准数据集进行测试,得到的测试结果会更具有公平性与说服力,图2 所示为超分辨率数据集的示例图像.

图2 超分辨率数据集示例Fig.2 Examples of super-resolution datasets

表1 常用超分辨率训练数据集Table 1 Widely used Super-resolution training datasets

表2 常用超分辨率测试数据集Table 2 Widely used Super-resolution testing datasets

2 基于深度学习的单幅图像超分辨率重建的研究进展

分辨率越高,图像所包含的信息越多,将单幅低分辨率图像恢复成高分辨率图像是一个不适定问题,得到了广泛的关注.传统的典型方法如基于空间域、频域、非均匀插值、迭代反投影、凸集投影法以及基于统计学习与基于字典学习的方法等,都为这个领域做出了突破,但大多数算法都需要一些先验知识.2016 年,SRCNN[6]的提出,很好地将神经网络学习迁移到超分辨率重建领域.通过训练LRHR 图像对,得到一套神经网络模型,测试的结果优于经典算法,且无需过多的先验知识.本部分从基于有监督学习、弱监督学习、无监督学习以及针对特定领域的图像超分辨率重建这4 个模块出发,系统的阐述深度学习在超分辨率领域的发展进程与重大突破.

2.1 基于有监督学习的超分辨率重建

有监督学习是指利用一组带有标签的数据,学习从输入到输出的映射,然后将这种映射关系应用到未知数据上,达到分类或回归的目的.由于有监督学习方法相对简单且优于多数传统算法,因此受到广大学者们的青睐.对于超分辨率领域,大多数模型也都是基于有监督学习的方法.本节从有监督学习角度出发,根据所使用的神经网络类型可以分为基于卷积神经网络、递归神经网络、循环神经网络和对抗神经网络;根据所使用的机制可分为基于反馈机制和通道注意力机制;此外,还有基于损失函数类型、上采样层类型的不同,针对多尺度超分辨率重建的方法共分为9 个方面,详细阐述有监督学习在超分辨率重建中的应用发展.

2.1.1 基于卷积神经网络的超分辨率重建

由于卷积神经网络在图像分类、识别等领域有着出色的表现,因此Dong 等[6]将卷积神经网络(Convolutional neural network,CNN)应用到超分辨率重建中,对采集到的HR 图像以一定的采样因子下采样,得到的图像称为LR 图像.再利用双三次插值的方法重建成与原来HR 图像同等尺寸大小,将其作为输入,经过构建的卷积层Conv1+激活函数Relu1—卷积层Conv2+激活函数Relu2—卷积层Conv3 框架的学习,与相对应的HR 图像求损失函数,使损失函数不断减小,期间通过反向传播调整各卷积层的权值,直至损失函数收敛,使重建后的SR 图像质量逼近于HR 图像质量,从而达到重建的目的.SRCNN 的提出,具有里程碑式的意义,但它也有一些不足,如太过依赖小图像区域的上下文信息、训练时收敛较慢、网络仅适用于单一采样尺度,若换成另一尺度采样,则需要重新训练模型.针对这几种缺点,同年Dong 等[13]又提出了快速超分辨率重建卷积神经网络(Fast super-resolution convolutional neural network,FSRCNN),如图3 所示,FSRCNN 在SRCNN 基础上做了一些改进,SRCNN 的网络输入是将LR 图像进行双三次插值放大为Ground truth 图像尺寸,这样会增加需提取的图像特征信息、网络参数和算法时间复杂度,而FSRCNN 网络的输入不需要将LR 图像放大,仅将LR 图像作为输入,网络的最后一层采用反卷积上采样层,此时再将图像放大为Ground truth 图像尺寸,大大减少时间的消耗;如图4 所示,如果训练不同上采样倍率的模型,只需将最后一层的上采样层微调;另一处改进是网络模型增加了网络层数并使用了较小的卷积核,使网络更深,学习到的特征更多.

图3 FSRCNN 网络结构与SRCNN 网络结构的对比[13]Fig.3 Comparison of FSRCNN network structure and SRCNN network structure[13]

图4 FSRCNN 网络卷积层与反卷积层的具体结构[13]Fig.4 The concrete structure of convolution layer and deconvolution layer of FSRCNN network[13]

Kim 等[7]提出了图5 所示的超分辨率重建极深卷积神经网络(Very deep convolutional network for super-resolution,VDSR)模型,与SRCNN 相比,VDSR 增加了神经网络的层数,可以提取更多的特征图,使重建后的图像细节更丰富,且随着层数的加深,感受野也随之变大,解决了SRCNN 依赖小图像区域的上下文信息的问题;该模型采用残差学习的方法,对输入的LR 图像进行双三次插值得到的图像添加到模型的最后一层上,使网络仅仅学习HR 图像与LR 图像的差异部分,有效地解决了收敛困难的问题;该模型的训练数据集并不单单使用一种采样因子的LR 图像作为输入,而是包含了多种采样因子的LR 图像,这样训练出来的网络可以测试多种采样因子的LR 图像.Hu 等[32]对SRCNN 提出了两点改进,首先采用随机线性纠正单元(Rando-mized rectified linear unit,RReLU)去避免原有网络学习中对图像某些重要信息的过压缩,然后用Nesterov 加速梯度(Nesterov's accelerated gradient,NAG)方法去提升网络的收敛速度,并且避免了网络在梯度更新的时候产生较大的震荡.

图5 VDSR 网络结构[7]Fig.5 The VDSR network structure[7]

以往模型都是先利用双三次插值等方法将LR图像上采样到HR 空间,再在HR 空间上提取特征,从而重建成最后的HR 图像,这种方法会增加计算复杂度.为此,Shi 等[33]提出了图6 所示的高效子像素卷积神经网络(Efficient sub-pixel convolutional neural network,ESPCN)模型,该模型是第一个能够在单独的K2 GPU 上实时处理1080p 视频的卷积神经网络,其核心思想是使用亚像素卷积层来替代反卷积层实现上采样操作,网络的输入是未放大尺寸的LR 图像,提取特征也都是在低维空间下进行,通过三个卷积层后,得到通道数为r2的特征图(Feature map),其中r为上采样的倍率,然后再将尺寸为H×W×r2的特征图重新排列成rH×rW×1的高分辨率图像.若需要获得不同上采样倍率的图像,只需改变r的值.该模型的优点是运行时间比以往基于卷积神经网络的模型快一个数量级,缺点是当改变倍率时,需要重新训练模型.

图6 ESPCN 网络结构[33]Fig.6 The ESPCN network structure[33]

Mao 等[34]提出了图7 所示的极深残差编解码网络(Very deep residual encoder-decoder networks,RED-Net)模型,该网络模型由卷积层和反卷积层组成,且卷积层与反卷积层呈对称分布,即编码-解码结构.卷积层起到提取特征与去噪的作用,反卷积层先接收去噪后的特征图像,再将其重建成高分辨率图像,这样会使图像更为清晰.REDNet 模型也采用了跳跃连接,但与ResNet[35]不同,该跳跃是从卷积层到对应的反卷积层之间的跳跃连接.

图7 RED-Net 结构[34]Fig.7 The RED-Net structure[[34]

Tai 等[36]提出了图8 所示的MemNet 网络,与传统的神经网络如VDSR[7]、DRCN[37]不同,这是一个长期记忆的模型.传统的神经网络基本上都是单向传播,当层数非常多的时候,越靠后的层接收到的信号越微弱,MemNet 网络由特征提取网络(Feature extraction net,FENet)、若干个记忆模块(Memory block)与重建网络(Reconstruction net,ReconNet)组成,其中FENet 由卷积层构成;与常规神经网络不同,每个Memory block 都参与了最终输出,即每个记忆模块不仅与下一个记忆模块连接,而且直接连接ReconNet 层;ReconNet 是个卷积核为1×1 的卷积层,负责将所有记忆模块的存储信息分别输出,所有输出分别赋予不同的权重,进行相加得到最后的输出结果.

图8 MemNet 网络结构[36]Fig.8 The MemNet network structure[36]

与ResNet 网络[35]直接将输入与最后一层串联起来不同,DenseNet[38]是将每一层与其他层都串联起来,这样更能保留原始图像的特征信息,即使传递到后面的层,图像信息也不易丢失,并且很好地解决了梯度消失的问题.考虑到DenseNet 的优点,Tong 等[39]提出图9 所示的SRDenseNet 网络,该网络由低水平特征提取层、8 个密集模块(Dense block)、2 个反卷积上采样层和1 个重构层组成,其中每个密集模块就是采用了DenseNet 的结构.

图9 SRDenseNet 网络结构[38]Fig.9 The SRDenseNet network structure[38]

Zhang 等[40]将残差模块(Residual block)与密集模块结合起来,形成了残差密集模块(Residual dense block,RDB),即图10 所示的RDN 网络模型.该网络模型主要由4 个模块组成,分别为浅特征提取网络(Shallow feature extraction net,SFENet)、残差密集模块、密集特征融合(Dense feature fusion,DFF) 和上采样网络(Up-sampling net,UPNet),其中SFENet 包含2 个卷积层,具有提取输入图像特征的作用;RDB 模块去掉了DenseNet 每个模块中的批正则化和池化层,上一个RDB模块与下一个RDB 模块中的1 到d层做了局部特征融合(Local feature fusion,LFF),每一层与每一模块连接都很紧密,更好的保证了信息流的贯通;DFF 通过Concat 层将每个RDB 模块得到的特征图都串联起来;UPNet 实现将特征图放大的操作.

图10 RDN 网络结构[40]Fig.10 The RDN network structure[[40]

Yu 等[41]在2018 年提出了WDSR 模型,并取得了当年NTIRE 竞赛[42]的冠军.如图11 所示,WDSR模型网络由卷积模块、残差模块和像素重组(Pixel shuffle)模块三部分组成,其中卷积模块、残差模块与常规神经网络相同,Pixel shuffle 采用了ESPCN 模型[33]提出的亚像素层来实现上采样的操作.与2017 年NTIRE 竞赛[28]的冠军EDSR 模型[43]相比,WDSR 模型一方面去除了很多冗余的卷积层,Yu 等认为残差模块已经涵盖了这些卷积层的效果,去除了这些冗余层会使计算更快,并且效果也没有下降;另一方面改进了残差模块.Yu 等提出了2 个版本的WDSR,分别是图12 所示的WDSR-A 与WDSR-B[41],2 个版本只在残差模块上有区别.与EDSR 模型的残差模块相比,EDSR 的Relu 激活函数是在两个卷积运算中间,而且卷积核的个数较少;而WDSR-A 是在不增加计算开销的前提下,增加Relu 激活函数前面的卷积核个数以增加特征图的宽度,这样效果会更好.WDSR-B 在WDSR-A的基础上,将Relu 后的大卷积核拆分成两个小卷积核,既减少了模型参数,又可以在同样计算开销的前提下获得更多未使用激活函数前的特征图.除此之外,WDSR 还采用了权重归一化(Weight normalization)的策略,实验表明权重归一化可以使用比以往模型高10 倍的学习率,而且能得到更高的测试准确率.

图12 三种残差模块的对比[41]Fig.12 Comparison of three residual blocks[41]

许多基于卷积神经网络的SISR 模型使用失真导向(Distortion-oriented)的损失函数,此类模型很难恢复真实图像纹理和细节,生成的图像看起来较模糊,因此恢复真实纹理和细节在图像超分辨领域仍然是一项挑战,目前这方面的工作有SRGAN[8]、EnhanceNet[44]和SFTGAN[20]等,但是在生成图像时通常会产生伪影,整幅图像看起来总有一些不自然.Soh 等[45]对此类问题提出了FRSR 模型和图13所示的NatSR 模型,可生成真实纹理和自然细节,获得高视觉质量.该模型添加了图14 所示的自然流形鉴别器(Natural manifold discriminator,NMD)与基于不规则残差学习的卷积神经网络结构.从图像评价指标上看,NatSR 算法并不是最好的,但在视觉效果上NatSR 表现更好.

图13 NatSR 网络结构[45]Fig.13 The NatSR network structure[45]

图14 NMD 结构[45]Fig.14 The NMD structure[45]

2.1.2 基于递归神经网络的超分辨率重建

在超分辨率问题中,为了使生成的图像质量高,多数卷积神经网络不使用池化层,但随着网络的加深,将会增加更多的参数,容易使网络过拟合;且模型过大,难以存储和重现.为了解决以上问题,考虑到递归神经网络是多次递归其模型中的一层或几层神经网络,可有效减少网络的参数,因此Kim等[37]采用了递归神经网络作为其基本网络,提出了DRCN 模型,其使用的递归层都是监督式的;并采用了跳跃连接结构,有效地解决了梯度消失/爆炸的问题.Tai 等[46]提出的DRRN 延续了VDSR[7]认为的网络层数越多、超分辨率重建的效果越好的观点,将网络层数增加到52 层,为了减少网络参数,也采取了递归操作与残差学习的方式.在网络结构上与DRCN[37]有所不同,采用间隔层权重共享的操作,而不像DRCN[37]的Inference network 里每一层都是权重共享.与具有20 层深度的VDSR 模型相比,效果虽然有所提升,但提升幅度并不大;相比较于同期的LapSRN[47],网络的效果有待优化,同时每个递归单元只有2 个卷积层确实有些不足.Zhou等[48]将递归神经网络与残差学习相结合,提出一种简洁紧凑型递归残差网络结构,在重建出同等质量超分辨率图像的前提下,模型参数数量及计算复杂度分别仅为VDSR 方法的1/10 和1/(2n2).

2.1.3 基于循环神经网络的超分辨率重建

目前图像超分辨率重建主要朝着两个方向发展,一是网络越来越深,但是随着网络层数的增加也会引起模型参数过多等问题;二是残差学习,包括全局残差学习、局部残差学习以及二者相结合的形式,虽然DRRN、DRCN 将递归神经网络与残差学习相结合,但仍会导致重建速度变慢.Han 等[49]引入了循环神经网络RNN,提出基于双循环网络状态的DSRN 模型.该模型通过延迟反馈机制,在两个方向(LR 到HR 和HR 到LR)之间交换循环信号,并将这两种状态预测的特征联合起来进行最终的预测,取得了不错的效果.

2.1.4 基于对抗神经网络的超分辨率重建

基于卷积、递归和循环这三种神经网络都是以峰值信噪比作为导向的SISR 模型,其网络生成的图像虽然峰值信噪比很高,但感观质量较差.为生成符合人眼感观的图像,Ledig 等[8]提出了SRGAN模型,网络主体采用对抗神经网络(Generative adversarial net,GAN)[50],损失函数采用感知损失与对抗损失之和.虽然峰值信噪比不是最高,但是SRGAN模型产生出的图像更加自然清晰,更符合人眼的视觉效果.尽管SRGAN 取得了很好的视觉效果,但随着网络的加深,批归一化层可能会使图像出现伪影.Wang 等[51]对SRGAN 模型进行了改进,提出了ESRGAN 模型.ESRGAN 在SRGAN[8]的基础上去掉了批归一化层,并引入残差密集模块(Residual-in-residual dense block)作为网络的基本单元,且采用RaGAN[52]的思想,将判别器由原来预测图像的绝对真实性改为了相对真实性,即判别器接收到生成器传来的图像时,不再单单预测这幅图像是否真实的概率,而是预测这幅图像比虚假图像更真实的概率.SRGAN[8]是使用激活后的特征求感知损失,而ESRGAN 是使用激活前的特征求感知损失.这样做克服了两个缺点:1) 激活后的特征是稀疏的,而使用激活前的特征求感知损失,会得到更多的信息;2) 若使用激活后的特征作为输入,则重建的图像与真实图像对比会出现亮度不一致的情况.Wang 等[20]提出了SFTGAN 模型,在模型中新添加了空间特征转换层(Spatial feature transform,SFT),将有效的先验信息与神经网络相结合进行端到端的训练,SFT 层通过对模型中的每个中间特征进行空间仿射变换来学习参数对,从而自适应地调节输出.与SRGAN[8]和EnhanceNet[44]模型相比,重建后的图像在视觉上显得更加自然.

2.1.5 基于反馈机制的超分辨率重建

根据应用的网络类型分类可以分为基于卷积、递归、循环和对抗神经网络,相关方法前文已经介绍.有学者从另一个角度出发,在神经网络中添加反馈机制和注意力机制,更有助于提升图像质量.对此,Haris 等[53]将传统算法迭代反投影(Iterative back projection,IBP)与深度神经网络相结合,提出了DBPN 模型.考虑到近年来提出的超分辨率模型中,没有很好地解决LR 图像与HR 图像的相互依赖关系,Haris 等认为超分辨率网络模型缺乏反馈机制,不能像人类视觉系统那样利用反馈机制来指导任务,为此提出一种上采样和下采样交替式进行的网络,为每个阶段的错误映射提供反馈机制,思想上很像传统的迭代反投影算法,因而取名为DBPN 网络,该模型成为了×8 尺度上的先进算法.Li 等[54]提出了一种图像超分辨率反馈网络SRFBN,高阶层的信息通过反馈连接自顶向下的提供反馈流.同时,这种具有反馈连接的递归结构具有较强的重建能力,且只需要较少的参数.该模型还采用了一种基于课程的训练策略,将多张越来越难重构的HR 图像作为连续迭代的目标输入网络.该方法使网络能够逐步地学习复杂的退化模型,而其他方法只能学习退化模型中的一种模式.

2.1.6 基于通道注意力机制的超分辨率重建

大多数基于神经网络的超分辨率(Super-resolution,SR)方法没有充分利用原始LR 图像的信息,从而得到的结果不太理想,且多数基于神经网络的模型主要专注于设计更深或是更宽的网络,以学习更具有判别力的高层特征,却很少发掘层间特征的内在相关性,从而阻碍了网络的特征提取能力.为此,Zhang 等[55]将通道注意力机制(Channel attention,CA)和残差块相结合,提出了RCAN 网络模型,RCAN 延续了神经网络深度越深,效果越好的理念.该模型主要由4 个部分组成,分别是浅层特征提取模块、残差中的残差(Residual in residual,RIR)深度特征提取模块、上采样模块和重构图像模块.其中除了RIR 模块之外,其余模块与大多数SR网络相同,RIR 模块由残差组(Residual group,RG)与一个长跳跃连接组成,每个RG 由残差通道注意力模块(Residual channel attention block,RCAB)与短跳跃连接组成,由于RIR 模块的优势,可使神经网络的深度超过400 层.此外,Zhang 等还指出低分辨率图像存在大量低频信息,这些信息可以通过长跳跃连接直接传到网络的最后一层,使网络重点学习高频信息,并减轻了网络的学习负担.

Dai 等[56]提出了一个二阶注意力网络SAN,该模型利用二阶通道注意力机制SOCA 来进行相关性学习;同时利用非局部增强残差组(Non-locally enhanced residual group,NLRG)来捕获长距离的空间内容信息.Zhou 等[57]提出了基于特征融合注意网络的单幅图像超分辨率方法,网络模型主要包括特征融合子网络和特征注意子网络.特征融合子网络可以更好地融合不同深度的特征信息,以及增加跨通道的学习能力;特征注意子网络则着重关注高频信息,以增强边缘和纹理.

2.1.7 基于损失函数的改进策略

除了在网络结构进行改进外,所使用的损失函数不同,生成的图像质量也有所不同.常用的损失函数有像素损失、内容损失、对抗损失、纹理损失、总变差损失以及上下文损失等.

1)像素损失(Pixel loss)

目前多数SR 模型均采用像素损失,像素损失一般分为L1 损失和L2 损失,其表达式分别如下:

其中,C为图像的通道数,一般为3;H为图像的高度;W为图像的宽度;为生成的高分辨率图像的每个像素点;yi,j,k为Ground truth 图像的每个像素点.

虽然在峰值信噪比上取得了显著的效果,但是在主观视觉上发现只运用像素损失生成的图像缺乏高频信息.为此,Johnson 等[58]用感知损失来代替像素损失,感知损失由内容损失与Gatys 等[59]提出的风格损失组成.

2)内容损失(Content loss)

采用预训练好的卷积神经网络提取生成图像与Ground truth 图像的高阶特征,再逐层求平方差,将所有层加起来,即为内容损失.内容损失表达式如下:

其中,Cl为特征图通道数;Hl为特征图的高度;Wl为特征图的宽度;为使用预训练模型提取生成的高分辨率图像的第l层特征图的每个像素点;ϕ(l)(yi,j,k) 为使用预训练模型提取Ground truth图像的第l层特征图的每个像素点.

3)对抗损失(Adversarial loss)

在超分辨率领域,采用对抗性学习是很简单的,在这种情况下,只需要将SR 模型作为一个生成器,另外定义一个鉴别器来判断输入图像是否生成.Ledig等[8]首先在SRGAN 模型中引入了基于交叉熵的对抗损失,具体表达式如下:

其中,Lgan_ce_g为SR 模型生成器的对抗损失;D(·)代表鉴别器;Lgan_ce_d是鉴别器的对抗损失.Wang等[60]和Yuan 等[61]在网络中引入了基于最小平方差(Least mean error)的对抗损失[62],其表达式如下:

4)纹理损失(Texture loss)

Gatys 等[63−64]将纹理损失引入到超分辨率重建中,纹理损失利用Gram 矩阵G(l)∈RCl×Cl,Gram矩阵表达式如下:

5)总变差损失(Total variation loss)

6)上下文损失(Contextual loss)

为了生成逼真的图像,很多模型采用对抗损失,但这种模型很难训练.Mechrez 等[66]采用上下文损失来取代对抗损失,与L1 损失和L2 损失相结合,得到了不错的结果.

鉴于每种损失函数都有其各自的侧重点,将多种损失函数联合起来训练网络,得到的模型生成的图像无论在客观评价或主观视觉上都会取得不错的效果.现在的多数模型都是采用多种损失函数联合训练的方式,如Sajjadi 等[44]提出的EnhanceNet 模型,受到VGG 网络[67]的启发,卷积核全部采用3×3的大小,目的是在保持定量参数的情况下可以构建更深的网络.损失函数由感知损失、对抗损失和纹理损失组成,能够产生逼真的纹理.

2.1.8 基于上采样层的改进方法

在网络结构的改进中,除了可以应用不同的神经网络类型以及结合多种损失函数进行监督外,还可以对其上采样模块进行改进.将LR 图像上采样为HR 图像,上采样模块是必不可少的.如图15 所示,根据上采样模块所在位置的不同,分为预上采样(Pre-upscaling)、后上采样(Post-upscaling)、渐进上采样(Progressive upscaling)和迭代上下采样(Iterative up-and-down sampling)这4 种框架.文献[6,36,37,46,68]均采用预上采样框架;文献[8,38,43,49]均采用后上采样框架;文献[47,69]采用渐进上采样框架;文献[53]采用迭代上采样框架.根据上采样层所使用的方法不同,又可分为插值上采样、反卷积上采样以及亚像素卷积这三种方法,其中插值上采样可实现任意倍率的放大,但会带来一定程度的平滑和模糊效果;反卷积上采样只能实现整数倍率的超分辨率重建;亚像素卷积的优点是拥有较大的感受野,但其同样只能实现整数倍率的超分辨率重建.Kim 等[70]就当前流行的上采样方法进行了改进,提出了EUSR 模型.该模型采用了增强上采样模块(Enhanced upscaling module,EUM)作为上采样层,EUM 利用非线性操作和残差学习,在2018 年NTIRE 超分辨率挑战[42]的结构相似度[71]评价指标上取得了第9 名的好成绩.

图15 主流上采样方法 ((a) 预上采样SR 网络;(b) 后上采样SR 网络;(c) 渐进上采样SR 网络;(d) 迭代上下采样SR 网络)Fig.15 Mainstream upsampling methods ((a) Pre-upscaling SR network;(b) Post-upscaling SR network;(c) Progressive upscaling SR network;(d) Iterative up-and-down sampling network)

在ESPCNN[33]、EDSR[43]、RDN[40]与RCAN[55]等先进方法中,通常是在网络末端放大特征图,但是以上方法需要对每一种缩放因子设计一个特定的上采样模块,并且上采样模块通常只适用于正整数的缩放因子,这些缺点限制了SISR 在现实中的应用.Hu 等[72]提出了Meta-SR 模型,该模型引进了Meta-Upscale 模块来取代传统的上采样模块.受元学习(Meta-learning)的启发,对于任意的缩放因子,Meta-Upscale 模块都能够动态地预测上采样滤波器的权重,使得单个模型便可以实现任意缩放因子(包含非整数)情况下的超分辨率重建.

2.1.9 针对多尺度超分辨率重建

针对多数算法仅有一次上采样的操作,而无法同时得到多种分辨率图像,Lai 等[47]提出级联金字塔结构LapSRN.LapSRN 网络有两个分支,一个是特征提取分支,一个是图像重构分支.该模型是逐步学习,输出不同尺度的残差,得到对应尺度的重构结果,而不是像其他模型只有一个输出;与以往的L2 损失函数不同,该模型得到的每种分辨率都有一个对应的损失函数,总的损失函数即为多种分辨率的损失函数之和.

Lim 等[43]分别针对单一尺度超分辨率与多尺度超分辨率提出EDSR 网络与MDSR 网络,这两种模型框架主要采用He 等[35]提出的ResNet 网络,但与之不同的是,去掉了其中的批归一化层.批归一化层的主要作用是加快训练速度,改善数据变化大因而模型难收敛的问题.由于框架本身学习的是残差图像,需要学习的特征减少,很大程度上提高了训练速度,因此批归一化层在ResNet 网络中并不是十分重要,且批归一化层对每一批数据都要进行归一化处理,使得GPU 可用显存减少,移除批归一化层可起到节约显存的功效.MDSR 网络模型的设计具有权重共享的功能,既能达到训练多个分辨率的目的,又能使整套模型的计算量减少,节约存储空间,Timofte 等凭借该模型赢得了2017 年NTIRE竞 赛[28]的冠军.

2.2 基于弱监督学习的超分辨率重建

在超分辨率重建领域大多数模型都是基于有监督学习的方法,鲜少有学者提出弱监督或无监督学习模型.由于收集相同场景的LR-HR 图像对是困难的,因此有监督学习并不适用于现实场景的应用,弱监督或无监督学习的研究变得极为重要.

Bulat 等[73]针对大多数模型是从HR 图像下采样得到对应的LR 图像,并不能真正代表真实场景的LR 图像的情况,提出了新的退化模型.受CycleGAN[74]的启发,Bulat 等将整个网络模型分为2 段,一段是用不成对的LR-HR 图像训练得到由HR 图像到LR 图像的GAN 退化模型,取代多数模型采用的双三次下采样方法;另一段是用上一段网络生成的LR 图像作为输入,再用成对的LR-HR图像训练GAN 超分辨率网络.

受CycleGAN[74]与WESPE[9]的启发,Yuan 等[61]提出了一种弱监督学习模型CinCGAN,如图16 所示该模型由4 个生成器、2 个鉴别器以及2 个CycleGAN 组成,其中生成器与鉴别器的结构如图17所示,第一个CycleGAN 用于有噪声的LR 图像到真实的Clean LR 图像的映射,第二个CycleGAN 的结构与第一个相同,不同点在于第二个CycleGAN 是学习Clean LR 图像到Clean HR 图像的映 射,且LR 图像与HR 图像是不成对的.

图16 CinCGAN 网络结构[61]Fig.16 The CinCGAN network structure[61]

图17 CinCGAN 中生成器与鉴别器的结构[61]Fig.17 The structure of generator and discriminator in CinCGAN[61]

2.3 基于无监督学习的超分辨率重建

文献[75−76]证明了单张图像内部块之间的信息熵小于多张图像块之间的信息熵,这就意味着图像内部块比多张图像块拥有着更强的预测能力.基于此,Shocher 等[77]认为仅靠图像的内部块递归循环[78]就足以重建高分辨率图像,提出了图18 所示的ZSSR 模型,这也是第一个无监督学习的SR 方法.ZSSR 模型将待测试的低分辨率图像下采样后的图像作为输入,而目标图像则是待测试的低分辨率图像;网络采用轻量级全卷积结构,再将待测试的低分辨率图像作为输入得到高分辨率图像.ZSSR模型由于不依赖外部图像数据集,因此能处理如不用双三次退化得到的低分辨率图像以及有模糊、噪声、伪影等非理想条件下的图像,且不需要预训练,适用于任何尺度的上采样.由于网络模型简单以及不需要外部数据集,节约了计算资源,在非理想条件下可达到SR 先进算法的水平.测试时采用双三次下采样得到的低分辨率图像作为输入的理想条件下,也可与有监督学习的SR 方法竞争.但缺点是每张图像在测试时都要单独训练一个网络,使得测试时间比有监督学习的SR 模型要长.

图18 ZSSR 网络结构[77]Fig.18 The ZSSR network structure[77]

Lempitsky 等[68]发现深度神经网络本身就有先验信息,仅仅是随机初始化神经网络的参数,就能达到去噪、图像修复等功能,不需要预训练大量图像样本,且网络的输入是随机向量,将卷积神经网络看成一般的待优化函数,利用梯度下降法进行梯度优化,损失函数是网络生成的图像与高分辨率图像的均方差,即可直接进行图像超分辨率重建.虽然这种方法的性能比有监督学习方法的峰值信噪比低2 dB,但它高于仅使用双三次上采样的方法1 dB,充分展现了深度神经网络性能的强大,实现了样本的 无监督学习.

2.4 针对特定领域的超分辨率重建

2.4.1 针对盲超分辨率(Blind Super-resolution)图像重建的方法

绝大多数图像超分辨率算法都是假设图像退化过程中的下采样模糊核是预先定义或已知的,如双三次下采样.此类算法在实际应用时,如果模糊核是复杂或未知时,图像超分辨效果会大大降低.当模糊核不匹配时,重建后的超分辨率图像会过于模糊或产生类似图19 所示的振铃效应;只有模糊核匹配时,才会得到较好的图像超分辨率效果,因此在真实场景中准确估计出模糊核是必要的.

图19 振铃效应Fig.19 Ringing effect

Zhang 等[79]认为采用双三次下采样得到的低分辨率图像不能够代表现实生活中的低分辨率图像,测试时向网络里直接输入真实的低分辨率图像,得到的效果往往不是很好.因此Zhang 等考虑了噪声和模糊这两个因素,在退化过程中采用一种维度拉伸的策略,将这两个关键因素作为网络输入,提出了SRMD 模型.

Gu 等[80]提出了SFTMD 模型与迭代核校正(Iterative kernel correction,IKC)的方法.为了正确估计出模糊核,Gu 等提出校正函数,因为一次校正可能不充分或校正过度,Gu 等采用逐步校正模糊核的方式去尽可能地逼近真实核函数.在模型的搭建上,考虑到SRMD[79]工作存在如下问题:1)模糊核没有包含图像的全部信息;2)模糊核信息只在网络的首层考虑到,网络的深层部分并没有使用到模糊核信息.为解决上述问题,Gu 等在SRResNet[8]网络中增加了空间特征变换层.

Zhang 等[81]提出一种即插即用图像恢复的DPSR 模型,通过设计一个新的SISR 退化模型来代替盲超分辨率的模糊核估计,该模型引入能量函数来优化新的退化模型,采用变量分割的方法实现即插即用,具有较高的灵活性,并且采用合成的图片和真实的图片来对算法进行评估,以实现对盲超分 辨率的处理.

2.4.2 面向实际场景的图像超分辨率重建的方法

多数超分辨率重建模型都是先获得高分辨率图像,再通过双三次、高斯或池化等下采样操作得到对应的低分辨率图像,以此构成图像对.该方法的优势是省时省力、数据易得,但在放大远处物体时却丧失了原始数据的准确细节,直接从HR 图像上通过算法获得的LR 图像终究不是真实情况下的输入,所以在现实中的泛化能力有限.由于缺乏真实的训练数据,现有的超分辨率方法在实际场景中表现不佳.为了解决此类问题,Xu 等[82]通过模拟图20所示的数码相机成像,构建了图21 所示的双卷积神经网络来生成真实的训练数据,其中Xraw为低分辨率Raw 格式的图像,Xref为通过Dcraw[83]软件生成的低分辨率彩色图像,图22 所示为图像恢复(Image restoration)分支,将学习了空间颜色转换后的图像与Raw 格式的图像进行特征融合,以实现更有效的色彩校正.实验表明使用Raw 格式的图像更能恢复精确的细节和清晰的轮廓,在实际场景中表现很好.

图20 数码相机成像原理[82]Fig.20 Principle of digital camera imaging[82]

图21 双卷积神经网络[82]Fig.21 A dual convolutional neural network[82]

图22 图像恢复分支[82]Fig.22 The image restoration branch[82]

同样对于实际场景来说,计算消耗的问题也不容小觑,且随着网络深度的增加,需要更多的训练技巧,否则训练过程中的数值就会变得不稳定[43,84].He 等[85]针对此类问题将常微分方程(Ordinary differential equation,ODE)与神经网络相结合,衍生出LF-block 和RK-block 两种网络结构,相对应于常微分方程中的Leapfrog 方法和Runge-Kutta 方法.

使用真实的传感器数据进行训练的主要障碍是缺少Ground truth 图像,为此,Chen 等[29]提出了CameraSR 模型,提供了全新的获得图像对的思路,即R-V 退化模型,其中R 代表分辨率,V 代表视野域.视野域小,目标物体具有更大的分辨率;视野域大,目标物体的分辨率很低.受Ignatov 等[30]的启发,采用DSLR 拍摄含有目标物体的HR 图像,采用智能手机拍摄含有目标物体的LR 图像.通过SIFT关键点[86]匹配与RANSAC[87]估计单应性,就可获得一个LR-HR 图像对,这种获得图像对的方式是从真实场景中得到的,训练出的模型泛化能力更强.Zhang 等[88]展示了如何通过光学变焦获得Ground truth 图像,并提供了一个真实的数据集SR-RAW.SR-RAW 是用变焦镜头拍摄的,长焦距拍摄的图像可作为短焦距拍摄的光学Ground truth 图像.Zhang等还提出一种新的上下文双边损失(Contextual bilateral loss,CoBi)来处理轻微失调的图像对,CoBi考虑了局部上下文相似性,其训练后的网络在图像放 大倍数为4 倍和8 倍上实现了最先进的性能.

2.4.3 针对人脸超分辨率重建的问题

针对人脸超分辨率问题,Chen 等[89]提出了FSRNet 和FSRGAN 模型,首先构建一个粗糙的SR网络生成粗糙的高分辨率图像;之后将粗糙的高分辨率图像送入2 个分支网络,其中一个是精细的SR 网络,用来提取图像特征,另一个是先验信息估计网络,用来估计人脸特征点和分割信息;最后将2 个分支结果汇入一个细粒度解码器进行重构信息,该模型在人脸超分辨率重建上取得了不错的结果.

Bulat 等[90]提出了Super-FAN 模型,该模型是第一个既提高面部分辨率又具有检测面部特征功能的端到端系统,其核心在于通过热像图回归和优化热像损失函数,利用集成子网络进行面部对齐,将结构信息合并到基于GAN 的超分辨率算法中,该模型在现实世界中的低分辨率人脸图像上也表现出了 良好的效果.

3 图像质量评估准则(Image quality assessment,IQA)

为了方便评估超分辨率模型产生出的图像质量,有必要运用图像质量评估准则对图像质量作出准确的评价.图像质量评估准则主要分为客观评价方法、主观评价方法以及其他评价准则,客观评价方法如峰值信噪比与结构相似性[71]等,通过公式计算出数值比较生成图像质量的优劣,该方法可以对图像进行定量分析,但缺点是峰值信噪比与结构相似性很大的图像有时也会出现纹理模糊,甚至出现伪影,因此单单依靠客观评价方法不能完全判断出图像质量的好坏.而主观评价方法是在视觉上感知图像质量的好坏,该类方法具有直观性,更符合我们的需求,但缺点是使用此类方法费时、代价昂贵且不方便.将客观评价方法与主观评价方法相结合更能有效检验算法的可靠性与准确性.本节将主要介绍几种最常用的IQA 方法,还会介绍几种近年来使 用相对较多的评价指标.

3.1 客观评价方法

1) 峰值信噪比(Peak signal-to-noise ratio,PSNR)

峰值信噪比是一个表示信号最大可能功率和影响表示精度的破坏性噪声功率比值的工程术语,常用作图像压缩等领域中图像重建质量的评价方法,其简单地通过均方差(Mean squared error,MSE)进行定义,在超分辨率重建中,用于检测重建后的图像x与真实图像y的相似度.PSNR 越大代表图像质量越好,一般PSNR 的范围在20 到40 之间.

其中,N为图像的像素个数;y为真实图像;x为模型重建后的图像;L为图像的最大像素值,一般为255.

2) 结构相似性(Structural similarity index,SSIM)

结构相似性是Wang 等[71]根据人类视觉系统(Human visual system,HVS)提出的一种基于结构信息退化的质量评估框架,是全参考(Full-reference)质量评估的一种.与PSNR 不同,SSIM 考虑了图像的结构信息、亮度与对比度,用图像均值作为亮度的估计、标准差作为对比度的估计、协方差作为结构相似程度的度量,反映了物体结构的属性.

给定两个图像x和y,两张图像的结构相似性可按照以下方式求出:

其中,µx是x的平均值,µy是y的平均值,σx2是x的方差,σy2是y的方差,σxy是x和y的协方差,C1和C2是用来维持稳定的常数,l是像素值的动态范围,k1=0.01 ,k2=0.03.结构相似性的范围为0 到1,当两张图像一模一样时,SSIM 的值等于1.

3) 信息保真度准则(Information fidelity criterion,IFC)与视觉信息保真度(Visual information fidelity,VIF)

Sheikh 等[91-92]提出了信息保真度准则与视觉信息保真度,通过计算待评图像与参考图像之间的信息来 衡量待评图像的质量优劣,其判断方法与PSNR 相似.

3.2 主观评价方法

为了更加准确的评判图像的质量,除了以上4 种常见的客观评价准则,其他的评价准则也相继被应用到超分辨率重建领域中.在国际标准中,平均主观意见分(Mean opinion score,MOS)最开始是用来评价经过压缩后的话音质量的准则,后来逐渐被应用到评估图像的质量.如表3 所示,MOS 取值范围是1~5 分,1 分表示图像的质量最差,5 分表示图像的质量最好.与PSNR 这种客观评价方法不同,MOS 是一种主观评价方法.

表3 MOS 评估准则Table 3 The MOS assessment

3.3 其他评价准则

此外还有NQM[93]、MS-SSIM[94]、VSNR[95]、FSIM[96]、文献[97]、NIQE[98]和Ma′s score[99]等评价准则被应用到图像质量评估上,多种准则的结合使用更能检 验出图像质量的好坏.

4 实验结果对比与分析

4.1 图像质量评估准则的对比

目前几乎所有的超分辨率重建算法都采用PSNR与SSIM 来检测模型产生的图像质量,表4 和表5分别为部分网络模型在基准数据集Set5、Set14 的平均PSNR 与SSIM 的对比,作为常用的两种客观评价方法,由于计算简单且物理意义明确,因此应用最为广泛,但并不能很好的代表感知视觉质量.表6 为部分网络模型在基准数据集Set5、Set14 和BSDS100 的×4 尺度上的MOS 对比,相比于PSNR和SSIM,MOS 更能代表感知视觉质量的好坏.可以看出,在基准数据集Set5、Set14 上采样因子为×4 时,RCAN 在客观评价指标PSNR 和SSIM上表现最好;但在主观评价指标MOS 上SRGAN表现最好.

表4 部分网络模型在基准数据集Set5、Set14 的平均PSNR 对比Table 4 The average PSNR comparison of some network models on the Set5 and Set14 benchmark datasets

表5 部分网络模型在基准数据集Set5、Set14 的平均SSIM 对比Table 5 The comparison of average SSIM of partial network models on the Set5 and Set14 benchmark datasets

表6 部分网络模型在基准数据集Set5、Set14 和BSDS100 的×4 尺度上的MOS 对比Table 6 The MOS comparison of some network models at ×4 of the benchmark datasets Set5,Set14 and BSDS100

如图23 所示,在主观视觉与PSNR 方面上,分别运用Bicubic、SRCNN、EDSR、RCAN、EnhanceNet、SRGAN 以及ESRGAN 模型在Set14 和BSDS100 数据集上进行实验,可以看出RCAN 模型的PSNR 最大;但在主观视觉上,ESRGAN 生成的图像最清晰,无论从颜色、纹理分布更接近HR图像,RCAN 较为模糊,这也说明了传统客观评价标 准的局限性.

图23 部分模型的主观视觉与PSNR 的比较Fig.23 Comparison of subjective vision and PSNR of partial models

4.2 运行时间的对比

除了图像质量评估外,运行时间也是评价网络模型性能优劣的重要指标之一.运行时间指测试时重建一张高分辨率图像的时间.如表7 所示,其中“ —”代表未发现此项.

表7 部分网络模型在各测试数据集上的运行时间对比Table 7 The comparison of running time of partial network models on each testing datasets

5 思考与展望

虽然深度学习的出现,使基于单幅图像超分辨率重建算法性能得到准确率与速度的提升,但目前仍然存在很多不足:

1)基于无监督学习的单幅图像超分辨率重建算法的研究问题

文献[68,77]虽然提出了基于无监督学习的超分辨率重建的算法,但这方面可供参考的文献仍然很少,且目前获取HR-LR 图像对的主流方法依然包含很多主观因素,不能很好地代替现实数据集.若采用无监督学习的方法,无需大量样本进行训练,也可节约获取大量数据集的时间,直接使用现实图像进行训练与测试,不依靠外部数据集,更能提高模型的泛化能力,因此研究基于无监督学习的单幅图像超分辨率重建算法很有必要.

2)盲超分辨率解决的问题

盲超分辨率是指从高分辨率图像到低分辨率图像下采样的尺度未知,需要预先估计模糊核.在模糊核不匹配时,模型得到的SR 图像会过于模糊或产生振铃效应,只有在模糊核匹配时,才会有较好的图像超分辨率效果[100],因此估计退化模糊核是一个关键步骤.文献[79−81]提出了关于此方面的解决方法,但盲超分辨率问题仍然有很大的上升空间,如何构建深度学习模型来解决盲超分辨率依旧是未来值得关注的问题.

3)使用一种模型可实现任意倍率缩放的超分辨率算法的问题

文献[72]提出的Meta-SR 网络模型,仅使用一种模型就实现了任意倍率的缩放(不限于整数),使重建图像的尺寸大小不再拘泥于输入图像的如×2、×3、×4、×8、×16 等整数倍率,还可实现×1.2、×1.5 等小数倍率的图像重建,这是一个很有价值的创新,解决了多年来被人们忽视但却很重要的问题,未来在此方向还会有更多的学者进行研究探索与创新.

4)应用到现实场景中的问题

虽然从深度学习出现之后,在单幅图像超分辨率算法上得到了很大的进步与改良.但许多算法模型应用到现实场景中,往往得不到预期的效果,甚至有时比传统算法得到的图像质量还要差.如何提升模型的泛化能力,将其早日应用到实践当中是当前最为重要的问题.未来的发展趋势将会是传统算法与神经网络的结合,既能发挥传统算法先验知识的重要性,又能实现端到端高层语义特征的学习,更好的解决现实场景中图像超分辨率重建的问题.

6 结论

超分辨率重建在计算机视觉领域具有重要的研究意义和应用价值,本文首先介绍单幅图像超分辨率重建的常用公共图像数据集;然后,重点阐述基于深度学习的单幅图像超分辨率重建方向的创新与进展;最后,讨论了单幅图像超分辨率重建方向上存在的困难和挑战,并对未来的发展趋势进行了思考与展望.总体而言,深度学习为解决单幅图像超分辨率重建问题上提供了新的技术,取得了较为显著的成果,但将其应用到现实场景中仍存在很多问题,如现实生活中得到的低分辨率图像并不是从高分辨率图像双三次下采样得到的,而许多基于深度学习的超分辨率模型训练时都是将双三次下采样得到的低分辨率图像作为输入,测试时若将现实生活中的低分辨率图像作为输入,重建的效果往往不是很好等等诸多问题.说明目前深度学习技术还不够成熟,有很大的上升空间,但其前景可期,且图像超分辨率重建技术具有很大的实用价值,因此基于深度学习的单幅图像超分辨率重建依然是一个亟待研究 的重点方向.

致谢

感谢山东大学贲晛烨教授在论文修改过程中的建议.

猜你喜欢

残差分辨率损失
基于双向GRU与残差拟合的车辆跟驰建模
少问一句,损失千金
胖胖损失了多少元
基于残差学习的自适应无人机目标跟踪算法
基于递归残差网络的图像超分辨率重建
EM算法的参数分辨率
玉米抽穗前倒伏怎么办?怎么减少损失?
原生VS最大那些混淆视听的“分辨率”概念
基于深度特征学习的图像超分辨率重建
一种改进的基于边缘加强超分辨率算法