DRUSR:面向效果的图像超级分辨率重建

2023-12-27 14:53:14赵光哲
计算机工程与应用 2023年24期
关键词:伪影残差分辨率

李 昊,赵光哲

北京建筑大学 电气与信息工程学院,北京 102616

图像是了解外部世界的主要信息来源之一,与人们的生活密切相关。图像的分辨率大小关乎着一幅图像是否清晰,而图像越清晰,所传递给人们的信息就越多,更容易让人们感知出来。随着各种电子设备的屏幕素质愈来愈好,图片和视频的清晰度也变得愈来愈重要,目前2 048×1 080和3 840×2 160的分辨率已经广泛进入大众的视野中,未来还会有更高的分辨率出现。人们对图片和视频的要求愈来愈高,模糊不清的图像已经无法满足当今社会的大部分需求,尽管现在手机、相机等电子设备很普及,但是还是无法满足一般人的应用需求,因为高质量的摄像头往往伴随着昂贵的价格,所以通过算法或者软件层面实现图像的清晰化更能体现其价值。评价图像是否清晰的一个关键点在于分辨率的问题上,高清图像不仅清晰度高,视觉观感也很不错。

当今社会很多领域都离不开图像超级分辨率技术,如医学图像领域、遥感探测领域和视频监控领域,哪怕是人工智能领域,图像超级分辨率都可以作为一种数据增强的手段。

图像超级分辨率重建技术能够将一幅低分辨率(low resolution,LR)图像恢复成高分辨率(high resolution,HR)图像,是21 世纪以来计算机视觉的一个重要研究领域,一般情况下可以划分为单帧图像重建和多帧图像重建,超级分辨率重建经历了外推频谱、频率域、稀疏系数及字典和基于深度学习[1]的图像超级分辨率这几个阶段[2]。

20 世纪60 年代,图像超级分辨率问题由Harris[3]和Goodman[4]首次提出,他们所提出的方法是使用外推频谱进行超级分辨率,彻底打开了图像超级分辨率重建技术的大门,给之后的学者提供了理论基础。1984年Tsai和Huang[5]提出了一种基于频域的图像超级分辨率重建的新算法。新算法利用傅里叶变换的可变和混合特性,根据多幅低分辨率图像的特点,结合了许多低分辨率图像之间的联系,通过一系列变换,将高、低分辨率图像的关系找出,从而达成图像重建的目的。虽然低分辨率图像和高分辨率图像之间的线性关系对该算法的实际应用有一定效果,但它包含的先验信息数量不多,退化模型也只适用于输入图像的重复线性空间运动,所以局限性也是非常大的。

在2010年的时候,Yang等人[6]提出了基于稀疏表示(sparse representation)方法的超级分辨率重建。该方法借鉴了压缩感知的思想,通过大数量的高、低清图像的稀疏表示和训练降维,实现超分辨率的优化求解,经过该方法重建后的图像的质量尚可,也能够提供数量庞大的高频信息,但由于迭代次数多,字典学习出现过冗余的问题,导致计算代价大。

过了4 年,也就是在2014 年的时候,Dong 等人[7]首次将深度学习的思想引入到图像超级分辨率算法当中,提出了基于卷积神经网络的超级分辨率网络(superresolution convolutional neural network,SRCNN)。Dong等人在算法中指出在输入模型之前,首先要对低分辨率的图像进行双三次差值[8],然后使用深度学习网络中的卷积层学习高、低分辨率图像之间的关系,最后得出预测图像。然而,超级分辨率卷积神经网络中只存在三个卷积层,导致该网络模型的结构过于简单,网络模型的深度太浅导致感受领域较小,使其学习图像特征的能力不足,导致经过恢复操作后的内容细节和边缘轮廓都比较粗糙,图像的质量仍还有非常大的进步空间。

2016年,Kim等人[9]在SRCNN的基础上提出了极深卷积神经网络超级分辨率模型(very deep convolutional network for super-resolution,VDSR)。随着网络深度的加深,可以使网络模型提高复杂非线性映射的学习能力,同时也可以扩大感受领域,增强网络模型对图像的高频信息特征的获取。VDSR 中最直接明显的是残差网络的结构[10],残差网络使网络的收敛率大幅度提高。但因为是在SRCNN 的基础上,所以和SRCNN 存在相同的局限性,这无疑提前将计算量增加,伴随而来的也有重建后的质量问题。

因为生成对抗网络GAN(generative adversarial networks)在图像生成方面较为优越的性能,在2017 年,Ledig等人[11]首先将生成对抗网络的思想作为超分辨重建领域的重点,提出一种基于生成对抗网络的图像超级分辨率重建算法模型SRGAN(super-resolution generative adversarial networks),解决了图像的高频信息损失问题[12]。

但是SRGAN中的生成器和判别器从宏观层面来看都是一个线性的结构,而且生成器中的每一个残差块中的BN层都会导致伪影问题的产生,伪影问题是SRGAN网络的通病,或者说就是BN层的通病。网络结构基础但过于简单,还会伴随着参数量过大的情况,导致SRGAN的训练速度以及重建后的最终效果都不是最理想的[13]。

针对上述所提到的模型重建后的最终效果都存在或多或少的问题,本文提出一种新的解决方式:生成网络中的残差块进行简化并将密集残差网络与之结合。将判别网络中的判别网络模型进行改进,不再采用一维的线性结构。最终目的是可以在保证效率的同时又可以取得较好的重建质量,主要方法如下:

删除原结构中的多余批量归一化操作的残差块,对原有的Conv-BN-Conv-BN残差块进行了改良。有的图片进行完超级分辨率之后产生伪影,而伪影之所以会产生就是因为残差块中的Batchnormalization层,故将其删除掉。

在生成网络中使用密集残差网络来提取更丰富的图像的局部特征,同时也可以尽可能地使用提取到的各个特征,使整个生成网络有一个顺利的训练过程。以密集残差块为标准单位,将5 个密集残差块组合成1 个基本块,共构建20个基本块形成新的生成器。

在判别网络中使用U-Net 作为判别器的主干来训练。U-net采用了完全不同的特征融合方式:拼接。与原先模型中的顺序连接结构不同,U-net 采用不仅将特征在channel维度拼接在一起,形成更厚的特征,对网络的训练指导起到积极推进的作用,还可以提升训练效率。

使用结合残差网络和分组卷积改进的残差块进行对图像的超级分辨率,利用合理的特征选择或者是模型调优,能够达到一个较好的并且稳定的提高分辨率的结果。针对前面所述的方法以及局限性,本文所提出的方法不仅改善了图像重建后的伪影问题和丢失高频细节的问题,还可以使训练过程不会出错,最终效果得到改善。

本文的主要贡献主要如下:删除原结构中的多余批量归一化操作的残差块,对原有的Conv-BN-Conv-BN残差块进行了改良;引入密集残差网络的思想构建新的生成器;引入U-net网络的思想构建新的判别器。

1 原始模型及改进

1.1 原始模型的整体设计

为了在可以在单帧低分辨率图像重建中取得不错的效果,在模型结构的大框架上,本文借鉴了由Goodfellow等人[14]提出的一种模型——生成对抗网络GAN。[15]生成对抗网络中存在一个生成器和一个判别器,两个网络通过相互对抗的方式进行学习,最终达到Nash均衡[16-17],其模型结构如图1 所示。可以简单地理解为互为攻守的双方,生成模型的目标是通过大量学习真实值来输出一张近似于真实值的图像,判别模型的目标是需要判断出输入的图像是来自真实值还是来自于生成模型。为了取得最后的成功,攻守双方需要不断优化自己以此来提高自己的工作能力。

图1 生成对抗网络结构Fig.1 Generative adversarial network architecture

本文从两个部分同时入手,以GAN的两个部分为基本,融入自己的创新点,来实现图像超级分辨率重建,本文的模型同样由生成网络和判别网络构成,生成网络学习如何生成和超高分辨率图像相似的图像,判别网络学习如何分辨出生成图像和真实图像,其模型结构如图2所示。其中生成网络由20 个基本块构成,判别网络将U-Net替换顺序连接作为新的判别器。

图2 模型整体设计Fig.2 Model overall design

在训练过程中,先通过生成网络生成重建后的图像,再将生成的高清图像和真实图像一起送入判别网络,最终通过多个卷积层输出一个值,该值表示为两张图像相对比后的误差值,也可以理解为图像为真还是为假,再经过误差计算后实现自动调整模型参数,最终目标是使模型在多代更迭中自动更新,本文将模型目标函数定义为:

随机噪声y被输入一个生成器G,产生一个假样本G(y),生成器G的任务是根据真实的数据样本的分布进行学习,并产生一个与之尽可能高度相似的数据样本。判别器D是一个二进制分类器,其中输入数据由两部分组成,一个是由生成器G产生的假样本G(y),另一个是真实样本数据x,将概率值输出,代表由生成器G产生虚假的数据样本被视为是真实的概率,如果输入源自真实样本,则将1作为输出结果,反之输出结果为0。同时,判别器D将输出结果反馈给生成器G,指导训练生成器G,通过自循环的方式不断地进行训练,最理想的情况下可以达到判别器D无法分辨真实样本还是虚假样本,即当判别器D输出最优解为1/2。

然而早期的利用GAN处理图像重建通常都是处理二倍放大,而当处理更大的放大倍数时,结果会出现涂抹感过于严重的情况,进而缺乏图像的真实感,严重的话图像的重要信息可能会糊成一片。因此,在2017年,Ledig提出了SRGAN,如图3所示。

图3 SRGAN生成器和判别器模型Fig.3 SRGAN generator and discriminator model

如图3 所示,输出通道数为n,步长为s,生成网络中含有B个残差块,每个残差块中都存在批量归一化层(BN)和激活函数层,最后经过两个反卷积层和一个卷积层输出一张重建图像;判别网络包含8 个卷积层,其中后7 个卷积层中同样有为Leaky ReLU[18]激活函数和BN层,最后连接着全连接层。该结构改善了不仅改善了GAN 通常只能处理二倍放大倍数的问题,还将重建图像的真实感和逼真度大幅度提高。

1.2 将密集残差网络引入生成模型

本文受到SRGAN 的启发,将密集残差网络的思想引入生成模型中。SRGAN 中的残差块由卷积层、批处理归一化层[19](BN)和ReLU[20]激活函数组成,如图4(a)所示。本文将残差块简化到由1 个卷积层和1 个ReLU激活函数,并将其作为基本单位,如图4(b)所示。BN层的主要目标是解决训练过程中的梯度发散问题,同时改善了速度和精度。然而,对于图像重建来说,与深度学习还是存在一定差异,如果继续使用BN层,会导致图像的色彩分布归一化,并将原始图像的空间表现破坏[21],导致在图像重建中出现伪影问题。故本文从残差网络中删除了批量归一化,从生成模型中删除批量归一化操作,减少了模型的参数量和层数,避免图像的伪影问题,以此来达到效率和效果的双重改善。

图4 SRGAN的残差块及其改进Fig.4 Improved before and after SRGAN residual blocks

本文的生成网络整体结构如图5(a)所示,基本分为三大部分,第一部分是一层卷积,第二部分是创新的密集残差网络,第三部分是增取样。低清图像经过一层卷积后,再经过密集残差网络和一次卷积,最后通过增取样操作获得高清图像。其中,Basic Block 是由改进后的残差块为基本单位所重新构成的,如图5(b)所示。图中所示为4个单位残差块和一个卷积层,采用密集连接结构,使用前馈方式[22]连接所有的后续层,允许各个层之间关系密集,从而将先前层的特征充分利用。密集连接以级联结合了所有卷积层的特征,每一层的特征图都一个不落的传给后续层,通过保留和使用每一层的特征,不损失特征来提高重建性能。

图5 生成模型整体设计Fig.5 Generative model overall designs

图5(b)为一个Dense Block模块的示意图,其中有4 个Conv+ReLU 模块和一个单独的Conv 模块,一共需要5 个Dense Block 模块,Conv+ReLU 模块数从4 个依次递减至没有,单独的Conv 一直保留,这样就会形成5个Conv 模块连续递减的Dense Block 模块,再将5 个Dense Block模块构成一个Basic Block模块,一共需要20 个Basic Block。不光Dense Block 加到主路径上有一个参数β,5 个Dense Block 加到主路径上的最后还有一个参数β参与到20 个Basic Block 的连接中。如图5(c)所示。

综上所述,在本文所改进的生成网络中,一个Basic Block 中一共有15 个Conv 模块,一共需要20 个Basic Block,即一共300个Conv模块。Dense Block加到主路径上还有一个参数β,通过密集连接的方式将各层与各层之间的图像信息进行传递,原模型采用顺序连接的方式,不光参数冗杂,还会导致训练时间过长,最终效果也仅仅是有些许提升,本文与原模型中的生成网络相比,可以有效缩短时间,改善呈现效果。

1.3 将U-net引入判别模型

SRGAN 的判别网络如图6 所示,是由不断重复的Conv 层、LR 层和BN 层所组成。判别器网络采用顺序连接的方式,经过1 组的Conv+LR 模块和7 组的Conv+LR+BN 模块,且8 个卷积核大小均为3×3,通道数从64一直到512,然后通过全连接层和Sigmoid 函数将图像数据维度铺成一维继而对图像分类判别真假。

图6 SRGAN判别网络模型图Fig.6 SRGAN discriminant network model diagram

为了使生成器产生的高清晰度图像更接近真实的高清晰度图像,本文引入了相对应的鉴别模型。SRGAN的判别器更多地集中在图像的整体角度判别真伪,而使用U-net 判别器可以在像素角度,对单个生成的像素进行真假判断,这能够在保证生成图像整体真实的情况下,更加注重生成图像细节。

U-net 网络由多层信息构成,但总体上被分为两个大类,一个是经过多次降低分辨率后的低分辨率信息。一个是经过多次扩大分辨率后的高分辨率信息。低分辨率的信息能够提供整体图像的信息特征,就可以解释为对判别目标与其所在环境之间的关系。

高分辨率信息:经过不断连接将高分辨率信息从编码器直接传递到同一位置的解码器上。可以提供更详细的分割特征,如梯度等。由于SRGAN 中的判别器是一个从宏观上来说可以看成是线性的结构,基础但又过于简单还伴随着参数量过大的情况,于是本文首先采用像素非混洗来缩减空间大小,与此同时将通道大小增大,然后再将输入送入到主SRGAN 的结构。所以大部分网络的计算过程是在小分辨率空间中执行的,这样做就可以减少显卡显存和计算资源消耗。具有谱归一化(SN)的U-Net鉴别器就非常适合上述特点,由于DRUSR的最终目的是解决比SRGAN 大得多的超分辨率空间,所以SRGAN 中的线性判别器的结构不再符合本文的要求。

具体来说的话,就是DRUSR 中的判别器首先从结构上就不能使用简单的线性结构,新的判别器需要更强大的判别能力,用来应对更复杂的训练输出,同时可以为图像的细小纹理生成准确的梯度反馈。将SRGAN中的VGG 判别器更改为跳跃连接结构的U-Net。U-Net网络输出每个像素的真实值,并提供给生成器详细的反馈,与此同时由于U-Net网络的结构相比较原始结构更加复杂也增加了训练的不稳定性,可以自行产生噪声用来完善训练过程。经过观察,经过谱归一化可以有效地缓解生成网络中的过度锐化和伪影的产生。训练过程分为两个阶段。首先,通过L1 loss训练以PSNR为导向的模型,得到的模型命名为DRUSRNet。然后,使用训练好的模型作为生成器的初始化,将L1 loss、感知损失和GAN loss作为参数来训练DRUSR。

本文的判别网络模型主体如图7所示,分为两个部分,一部分是提取特征的主体,一部分用来加强提取特征,在结构的最后还有一个预测网络,预测网络由一个全连接层和Sigmoid 函数构成,用于判断生成网络所生成的图像是否逼真。

图7 U-net网络模型Fig.7 U-net network model

输入进判别网络的图像经过两次卷积核大小为3×3的卷积层,通道数从1 变成64,经过一次降采样再经过两次卷积核大小为3×3 的卷积层,通道数从64 变成128,反复降采样操作一共4 次,卷积核不变,通道数翻倍至1 024,再经过4 次上采样提升分辨率,通道数变更为1 024、512、256、128、64,最后变成2。通道数一样的为一层,一共有5层,但只有前四层有跳跃结构,换言之就是复制、剪切特征图像的操作,这样做是为了保留图像明显的特征信息,因为随着网络层数的增加,图像信息会越来越少,但是随之而来的是特征信息数量暴增,为了不让网络层数影响到图像内容,所以要加上跳跃操作。

第一部分是主干,通过主干特征提取部分得到大量的特征信息层,U-Net的主干部分和另一个网络十分相似,就是非常熟悉的VGG网络,通过用不同数量的卷积块来构建不同结构的网络。但是与VGG 网络不同的是,U-Net的整体形状更像一个字母U,所具备的功能就要更立体。生成网络所生成的新图像经过主干特征提取的操作,可以将在这一操作下获得的初步有效特征层在下一步中进行融合。

第二部分是加强部分,可以理解为在第一部分的基础上更进一步,获得更多的特征信息。将在主干网络中所获取到的初步有效特征层进行四次增取样,同时将特征信息进行“加”操作,也就是常说的数据融合,这样就会获得一个拥有了所有特征的有效特征层。

最后的部分是预测。使用最后的有效特征层,该层最终将对各像素点分类。利用全连接层和sigmoid函数对图像数据维度进行展平,进行真假分类判断。

U-net 的优点是,网络层越深,感知的视野就越大。浅层会让人注意到纹理的特征,而深层则会让人注意到特征的本质。因此,深部和浅部特征对网格非常重要;而更需要注意的一点是,通过剥离获得的特征图的边缘是缺少信息的,毕竟每次图像被下采样时,一些边缘特征将不可避免地丢失,丢失的特征无法从上采样中恢复。因此,可以通过组合特征来恢复边缘特征。

1.4 系统整体流程图

整个网络模型的流程图如图8(a)所示,数据集中的图像首先通过生成网络,如图8(b)生成一张假的图像,将两张图像送入判别网络,如图8(c),经过判别网络判断生成图像与真实图像的相似性,根据损失函数判断生成图片是否比真实图片更逼真或者更虚假。

图8 系统整体流程图Fig.8 Overall system flow chart

2 损失函数

SRGAN 中的判决损失采用的是传统判决器,传统的判决器只是判断输入图片的真假,但是本文采用的是相对判决器[23](RaGAN),与传统判决器相比,在相对判决器中,判断图片真假的概率被判断一张图片与参考图片对比来看是更真还是更假所取代,可以理解为以一张图片为参考,被判断的图片是否比参考图片更像真的或者说是更像假的,具体如图9所示。

图9 传统判决器与相对判决器之间的比较Fig.9 Comparison between Standard GAN and Relativistic GAN

从图9中可以看出与左边的传统判决器相比,右边的相对判决器的损失函数多了一个相减的操作,而这个就是最关键的地方,它可以减少一定的图像噪声。

相对判决器的损失函数:

相对生成器中的损失函数:

相对平均判决器的表达式为:

Xr表示原始的高清图片,即真实值。Xf表示经过重建后的图片,即虚假值。σ表示sigmoid激活函数,C表示判决器的输出,Ex表示取虚假数据的平均。

3 图像伪影

以下几种情况都属于图像伪影问题,这也是SRGAN网络模型最大的问题,可能有些图片伪影问题不会太明显,但是一旦出现就是致命的。具体如图10所示。

图10 图像伪影的种类Fig.10 Types of image artifacts

振铃效应的产生主要是由于高频分量的损失和高频分量精度的损失引起。振铃效应就是指图像输出后在色值存在巨大色差的地方产生震荡,就好比一口钟被敲击后的剧烈震荡一样,在图像灰阶转换处出现传统意义上的模糊。振铃效应是否出现取决于图像模型的选取,当选择的点扩散函数尺寸与真实值存在过大差异时,振铃效应就会更明显。

当图像颜色的位深度减少太多以至于产生视觉冲击时就会出现色调分离。造成色调分离的主要原因是因为将图像的色彩空间发生了转变,通俗地讲就是颜色发生了偏差,颜色的取值范围出现误差。图像原本是由紧邻的渐变色阶构成,被数种突然的颜色转变所代替。这一种突然的转变,也将其称作“跳阶”。如今的图像基本上都是8位颜色,也就是有256种颜色,如此多的颜色也就导致了色调分离的偏差有很多种情况,如果按照量化的标准来说,就是一个颜色对应一个R、G、B的数值,在经过训练网络不停的卷积之后,R、G、B三个数值发生了巨大的误差,又经过增取样后会将这个误差继续放大,运气好的话可能图像的色系没有改变,只是改变了色阶;反之会出现一片一片不同的颜色。

模糊效应又叫高斯模糊(Gaussian blur),是最常见的压缩伪影,通常是用来减少图像噪声影响以及降低图像细节层次的技术。从数学的角度来看,高斯模糊的过程就是图像和正态分布也叫做高斯分布做积分变换。图像模糊的出现通常是因为高频空间频率的降低而产生,通常会伴随着物体边缘宽度的变化,主要出现在低通滤波过程和图像压缩过程中。通俗地讲,高斯滤波就是对整幅图像进行加权平均的过程,每一个像素点的值,都由其本身和邻域内的其他像素值经过加权平均后得到。

上式中的σ代表着每个像素点的离散程度,如果σ较小,平滑效果就不是很明显;反之,平滑效果比较明显,也就是图像重建效果不好。

块伪影是分块转换的编码原理造成的。在分块编码转换过程中,这些转换应用于像素块区域中,人们希望将图片进行压缩操作,于是就对不同的像素块的变换系数进行数值化,从而造成块之间的差异,进而形成了块效应。

蚊子噪音通常是以随机混叠的形式,在靠近物体清晰的边缘出现,并且需要精细的检测电路才能将它消除。

棋盘伪影主要出现在通过卷积网络生成的图像中,往往在色彩强烈的地方最突出。而造成这种现象的原因,是因为当使用反卷积层(deconvolution layer)将一个低分辨率图像转换为高分辨率图像时(也可以大致理解为从像素中放大图像)。大体上,反卷积层是让卷积模型使用低分辨率图像中的一个点,去“描绘”高分辨率图像中的一个块。

4 实验结果及分析

4.1 实验环境

本文进行实验所使用的实验环境:硬件配置显卡为RTX3070Ti,CPU为i5-9600KF,运行内存16 GB,实验平台搭载的是操作系统是Windows 10,使用Tensorflow-gpu 1.13,python 3.6。

4.2 实验数据集

数据集使用了两个大类数据集,一个是DIV2K,一个是Flickr2K,源数据集是从论文及相关网站中获取到的,搜索引擎里有两个数据集的整合,便于其他研究人员下载。DIV2K共包含有1 000张分辨率为2 048×1 080的高清图像,其中800张是模型训练用的,100张是验证图像,100张是测试图像。事实证明,数据集的数量越庞大,当其作用于网络训练的时候,模型的性能就会有非常大的提升。Flickr2K 数据集分为HR、LR_bicubic 和LR_unknow三个部分,其中HR中含有2 650张png格式的图片,包含人物、动物、风景等,后两者都含有×2、×3、×4这三种放大因子,作用于模型的常规训练。在广泛使用的4个基准数据集:Set5、Set14、BSD100、Urban100当作测试集评估本文改进的模型。

4.3 实验参数

本文中的实验,在该模型的训练过程中将Batch_size规定为10;迭代次数为60 000次;规定每迭代50次就保存训练的结果;训练时从原图像中随机截取出96×96的高分辨率图像块,使用bicubic插值法将其下采样为24×24的低分辨率图像块,作为原始的输入数据。经过10 000次的训练模型的学习率就减少1/2,初始学习率规定是0.000 1。训练过程中,生成网络和判别网络交叉训练。误差反向传播采用随机梯度下降算法Adam,Adam_beta_1=0.5,初始学习率为0.000 2,初始衰减率为0.1。

4.4 评价标准

峰值信噪比(peak signal to noise ratio,PSNR)、结构相似性(structural similarity index,SSIM)作为图像质量评估指标。

4.4.1 峰值信噪比

峰值信噪比(PSNR)是一种评价图像的客观标准,是最普遍最广泛使用的评估图像质量的指标,它的单位是dB。

一般采取均方误差(mean-square error,MSE)进行计算。两幅宽(W)×高(H)单色图像X和Y的均方误差为:

对于一般有颜色的图像来说,每一个像素点存在红、绿、蓝3 个0~255 的值,其均方误差应该为所有值的均方误差综合再除以3:

故峰值信噪比就定义为:

峰值信噪比是超级分辨率重建中最为常见的评价标准,该数值越高,代表质量越好,但是数值和最终效果并不能完全划等号,数值高有的时候并不代表图像的最终效果就是完美的。如图11 所示,图11(b)的PSNR 值高于图11(c),但图11(b)的阳光直射效果和肤色并没有图11(c)好,图11(b)中的阳光发灰,皮肤颜色显暗。这个现象表明峰值信噪比不能只作为效果评价标准上的唯一标准,具有一定的缺陷。

图11 PSNR与图像视觉效果Fig.11 PSNR and image visual effects

4.4.2 结构相似性

结构相似性(SSIM)是测量两幅数字图像之间相似度的指标,能反映人眼的主观感受。给定两幅图像x和y,通过亮度L(x,y)、对比度C(x,y)和结构S(x,y)定义结构相似性:

式中,μx和μy分别为x和y的平均值,σx和σy分别为x和y的标准差,σxy为x和y的共变异数字,C1、C2、C3皆为常数,且α、β、γ均大于0,在实际情况下通常使α=β=γ=1,

在反映图像的视觉效果上如果将结构相似性这一指标作为判断最终效果的唯一标准同样和峰值信噪比一样存在缺陷。

4.5 消融分析实验

表1用于显示DRUSR中每个组件的效果的整体视觉比较。

表1 消融分析实验Table 1 Ablation analysis experiments

在表1中,第五张生成的图像比其他所有图像更清晰,纹理更丰富。带有RDBD的深度网络模型即本文修改后的生成器可以进一步改善恢复的纹理,因为深层模型有很强的表示能力来捕捉图像信息。另外,更深的模型可以减少图像噪音。与SRGAN相比,SRGAN声称更深的模型越来越难训练,但本文中更深的模型显示了其优越的性能,易于训练,这要归功于生成器的改进,也就是将BN层删除。

4.6 客观量化评价

本文在四个公开数据集上测试了Bicubic、SRCNN[24]、VDSR[9]、FSRCNN[7]、SRGAN[11]以及本文的方法。对不同数据集上应用不同算法时,分别计算对应的峰值信噪比和结构相似性,结果如表2所示。

表2 四个数据集的六种算法的评价指标比较Table 2 Evaluation index comparison of six algorithms in four datasets

从表2中的数据可以看出,SRCNN、VDSR、FSRCNN在PSNR 和SSIM 两个指标上取得了较好的结果,但是在最终效果上却不及SRGAN,因为PSNR和SSIM两个指标都只针对像素点的颜色等差异,并没有考虑到眼睛的特性,才导致数值高但是最终效果不好的情况。本文提出的算法在SRGAN 的基础上进行改进,相对于主观效果较好的SRGAN而言,其PSNR值和SSIM值均与其他五种算法相比均有1%~4%的提升,转化成高分辨率图像后的视觉效果也相比其他五种算法更好。

4.7 主观评价

本文实验通过OpenCV库进行图像的双三次插值,其余模型是采用原作者的源代码进行复现重建,实验结果如图12 所示,图中将六种不同模型在一个相同数据集上的最终效果进行对比。双三次插值由于可以直接使用OpenCV库的代码进行操作,其重建效果是六种里面最差的,丢失了很多细节信息,肉眼可见的模糊以及色差不准,在婴儿图像的对比下可以看出图像发白,儿童图像的对比下可以看出头发的细节丢失,糊成了一片。采用深度学习的模型或多或少都有所改善,SRCNN通过卷积神经网络相对于双三次插值重建效果有所改善,VDSR 和FSRCNN 均有更复杂的网络结构,重建效果又有所改善,但由于一定的局限性缺乏真实感,SRGAN在前者的基础上改善了真实感,但是伪影问题也随之而来,综上可以看出图12 的四种算法或多或少都会出现细节的丢失。本文所采用的方法通过对比不难发现图像的色彩还原度更高,色彩更加艳丽,鸟的图像脖子与背景的绿叶区分度够高,嘴巴上的橙色和红色更真实;蝴蝶的图像中黄色更黄,黑色更黑;婴儿的图像皮肤更加红润,帽子的色彩也更丰富;儿童的图像脸更光滑,更有生气。综上本文的改进算法重建后的图像与原始图像愈发接近,且改善了SRGAN的伪影问题。

图12 图像重建效果对比Fig.12 Image reconstruction effects comparison

4.8 其他应用

除了做实验以外,还考虑了一些其他使用超分辨率的可能性,比如说手机和电脑的壁纸,一些老照片的修复等更贴近现实生活的例子,故利用本文所构建的网络模型对几张图片进行了超级分辨率操作,最终效果如图13所示。第一张海岸照片是从网上选取的分辨率非常低的老照片,第二张动漫图片是一个头像,第三张黄昏图片是网上找到的分辨率是1 920×1 080 的壁纸,在图片经过二次上传或者变成头像之后会被压缩,导致分辨率降低,从图13 中可以看出经过超级分辨率重建后的图片与原图对比像素范围扩大了,进而清晰度有了明显的提升,并且色彩并没有出现失真和偏移的现象,在观感上都有了明显提升。

图13 超分后的效果对比Fig.13 Comparison of effects after super reconstructed

除了以上提到的这些应用,现实里还有许多地方都需要,因为图像和人们是密切相关的,不只是照片,视频等素材也是可以通过超分辨率来获得更好的观感。

5 实验结论

综上可以看出,图像超级分辨率重建技术经过了很多代演变,重建的效果也是一次比一次强,但是网络模型层次越来越深,在每一代的训练过程中会出现诸多问题,如不稳定、图像重建出现伪影、效率不高等缺点。

本文针对这些前者的问题,在重建效果和训练时间相比之下,以较好的SRGAN模型为基础,将残差密集网络和U-net共同引入到SRGAN模型中,优化生成网络和判别网络的网络结构。在生成网络中,密集残差网络的引入打破了原始结构中的顺序连接结构,解决了由顺序连接所带来的时间问题后,密集残差网络可以将信息更快地向前传播,本文所使用的五个逐渐递减至一个残差块再重复堆叠五个的结构,在保证最终质量的同时,将网络的参数量尽可能地降低,保证时间效率得到最大提升。U-net的上采样部分融合了特征提取部分的输出,有效地将多维特征融合在一起。在后者的上采样中,特征既来自第一个卷积块的输出(同维特征),也来自上采样块的输出(高维特征),这样的连接存在于整个网络。这也导致在特征提取时为局部特征生成更加准确的反馈,避免图像伪影问题的出现。此外还可以提高训练效率。同时引入深度可分离卷积的思想,能十分高效地从较低分辨率图像中学习高频信息,提升学习效率,减少网络结构中的参数量。结合实验结果,本文给出的解决方法在网络的公开数据集上得到了最终效果,相比较于其他方法均有提升。最后,本文对未来的工作也有如下展望:

生成对抗网络为主体的图像超级分辨率重建依然有很大的发展前景,但由于网络的参数数量庞大,导致运行效率低下,如何进一步简化模型结构或使用新的高效计算方法来减少计算工作量,同时还能确保最终图像重建的质量保持不变,这将有助于提高高分辨率图像重建的效率,甚至还有可能提高重建的质量。

上述是用效果换效率,也可以换个思路,用效率换效果,考虑如何将图像质量提升得更好,不仅考虑4 倍放大,还要考虑8倍、16倍放大的情况,这完全取决于网络模型的精度,可以牺牲一定的效率,换取重建质量更好的效果。

还有一个比较重要的问题,就是量化评价指标,现在热门的两个指标是PSNR 和SSIM,但是经过实验发现,这两个值只能相对评价一个图像重建效果的好坏,经常会出现两个数值和最后主观感受不一致的情况,经过长时间的发展,重建技术也越来越先进,但是评价指标却一直被这两个值所束缚,那应该怎么改进标准,进而评价不同超分辨率算法的优劣也成为了未来展望的工作目标。正如本文以及像SRGAN 这样的算法一样,主观感受最好的图片PSNR和SSIM值会出现较低的情况,反而颜色糊成一片的情况会使这两个值变大,所以希望未来可以根据人眼的观感进行量化,客观评价指标辅助,构建有效的评价机制。

致谢本论文由“机器人仿生与功能研究”北京市重点实验室平台资助。

猜你喜欢
伪影残差分辨率
基于双向GRU与残差拟合的车辆跟驰建模
基于残差学习的自适应无人机目标跟踪算法
基于递归残差网络的图像超分辨率重建
自动化学报(2019年6期)2019-07-23 01:18:32
EM算法的参数分辨率
核磁共振临床应用中常见伪影分析及应对措施
原生VS最大那些混淆视听的“分辨率”概念
基于MR衰减校正出现的PET/MR常见伪影类型
基于深度特征学习的图像超分辨率重建
自动化学报(2017年5期)2017-05-14 06:20:52
一种改进的基于边缘加强超分辨率算法
减少头部运动伪影及磁敏感伪影的propller技术应用价值评价