基于SRGAN的图像超分辨率重建
作者: 张瑾 李佳莹 李晓阳 纪千荟 张伟华
关键词:超分辨率重建;密集残差;双重注意力;SRGAN
0 引言
超分辨率重建(Super-Resolution Reconstruction,SR) 是将低分辨率(Low-Resolution, LR) 图像转换为高分辨率(High-Resolution, HR) 图像。其目标是恢复在获取图像时因降低或丢失而缺失的高频信息。目前,已广泛应用于军事[1]、医学影像[2]、公共安防[3]、计算机视觉[4]等多个领域。传统算法包括基于插值的方法、基于重建的方法、基于学习的方法[5]等。基于插值的方法是在图像中插入一些像素点,这些像素点的值根据邻近的像素点计算出来。计算像素点值的方法一般包括最临近元法、双线性内插法、三次内插法等方法。基于重建的方法的是将几个超分辨率重建图像的方法混合在一起对图像重建;基于学习的方法是一种非深度学习的机器学习方法。相比传统方法,不仅计算复杂,还不能有效恢复图像纹理细节的原始信息。
近年来,深度学习技术在图像超分辨率重建中得到广泛应用并逐渐取得了较好的结果。2014年,Dong 等人首次将卷积神经网络(Convolitional Neural Net⁃work,CNN) 引入图像超分辨率重建任务中,提出了SRCNN(SR Convolitional Neural Network) [6]。2016 年,Dong等人在此基础上提出内部使用更小的卷积层且在网络末端使用反卷积层的FSRCNN[7]。同年,Kim等人受到残差网络的启发,提出在网络末端加入全局残差来进一步加深模型深度的VDSR(Very Deep SR Net⁃book) [8]。2017年,Ledig等人设计了一种基于感知损失函数的超分辨率生成对抗网络(SRGAN) ,很好地提升了生成图像的质量[9]。2019 年,Wang 等人基于SRGAN 提出了增强型超分辨率生成对抗网络(ESRGAN) ,以便提取更多图像的纹理细节[10]。尽管这些深度学习算法已经非常成熟,但在图像超分辨重建中仍存在高频信息丢失,结构化失真的问题。针对上述问题,本文提出一种基于SRGAN的图像超分辨率重建算法MDSRGAN,该算法改善了现有方法中存在的高频细节丢失和结构化失真的问题,为图像超分辨率重建领域的研究和应用提供了一种有效的解决方案。
1 图像超分辨率模型的构建
1.1 基于改进的SRGAN 超分辨率模型
Batch Normalization (BN) 是一种在深度学习中常用的正则化技术,其主要作用是在训练时对每个minibatch 进行标准化,使得网络中每一层的输入分布更加稳定,从而加速网络的收敛,提高模型的泛化能力。对于 SRGAN 模型,BN 层会对其性能产生负面影响。在SRGAN模型将低分辨率图像输入生成器网络并生成高分辨率图像;然后通过判别器网络判别其生成图像的准确性。该模型利用两者之间相互博弈的方式,最终生成逼真的高分辨率图像。通过这种生成对抗的方式,SRGAN能够产生更加逼真和细致的超分辨率图像。由于 SRGAN 中的生成器网络需要学习从低分辨率图像到高分辨率图像的映射,因此其输入分布可能会发生变化,导致 BN 层无法有效地进行标准化,从而影响网络的收敛和性能。因此本文采用Group Normalization (GN)层代替BN层对数据进行归一化。以解决传统模型对图像关键特征信息提取不充分的问题。本文在SRGAN 模型中引入了双重注意力机制DSBA模块提高网络的表现能力。它可以自适应地学习每个通道和空间位置的重要性,并将这些重要信息融合到网络中,从而提高网络的表现能力。在SRGAN模型的残差块中的卷积在进行特征提取时会对图像的特征信息产生损失,从而影响最终的生成结果,为了解决这个问题,本文引入了密集残差DR模块。MDSRGAN模型生成器结构图如图1所示。
1.2 DSBA 结构
本文中提出了一种DSBA的注意力模块,它可以自适应地学习网络中每个特征通道的重要性,并结合了通道注意和空间注意。由于卷积在特征提取过程中可能导致特征丢失,因此DSBA模块将空间注意模块和通道注意模块并行连接,以最大限度地保留图像的原始信息。DSBA模块将特征图分别输入空间注意模块SA(KC) 和通道注意模块SE(Ks) 中,然后将这两个分支的输出结果进行融合加强。DSBA模块的公式(KDBAS) 具体如下:
式中:AvgPool(I)、MaxPool(I)分别对数据进行平均池化以及最大池化;MLP 为多层感知机;f 7 × 7 为卷积核7×7的卷积;⊗为乘积。
DSBA结构的总体形式如图2中所示。
1.3 DR 模块
DR模块是一种密集残差网络,该模块的设计思想是将所有前面层的输出都与当前层的输入相连接,形成一种密集连接的网络结构。使得网络能够更好地利用之前层的特征,增强了特征的传递和信息的流动,提高了网络的表示能力和性能。DR模块作用包括缓解梯度消失问题、提高特征复用能力和增强信息流动性,能够有效地提高深度卷积神经网络的性能和效果。
密集残差网络中残差块中由于低分辨率转高分辨率图像时会产生映射分布发生变化,BN不能对其进行有效的归一化,而GN可以将图像特征图分成若干个小组并对其进行归一化,更适用于数据较大的网络训练,因此将BN模块替换为GN模块,为了增强数据信息的提取能力,在残差块中引入了DSBA模块,有利于对图像关键信息的提取。DR模块的网络结构如图3所示。
2 实验结果与分析
2.1 数据集
本文算法所使用的数据集为Yahoo MirFlickr25k 数据集。该数据集包含25 000张数据图像,涵盖了自然风景、建筑和城市景观、人物等多种类型的图像。Yahoo MirFlickr25k数据集所采用的训练集与测试集比例为8∶2,因此训练集一共有20 000张,测试集图像为5 000张。确保了在训练模型时,有足够的样本来学习图像的特征和模式。
2.2 模型训练
本文的实验环境如表1所示。
该模型训练轮次为150,并发数据投入模型batch_size 设置为8;MDSRGAN 模型采用优化器为Adam,它可以进行自适应的优化,其中momentum设置0.9为最佳。该实验使用的最大学习率为2e-4,最小学习率为2e-6。使用cos作为衰减调整策略的下降方式,图4为MDSRGAN模型的损失率函数。
2.3 评价指标
本文采用峰值信噪比(PSNR) 和结构相似度(SSIM) 作为评估本文模型性能的指标。PSNR值作为图像品质评价指标之一,它将生成后的图像与真实图像进行对比。计算后的PSNR值越大,表示生成后的图像保留的纹理细节越多,失真程度越少,其具体公式如下:
SSIM作为用来评估图像在构造上的相似性,它更接近人类视觉系统的结构相似性,可以更好地识别和感知图像中构造变化。SSIM值范围在 [-1, 1] ,越接近 1 ,表示两幅图像越相似,图像质量越好,其具体公式如下:
式中,μX、μY 分别表示生成图像X 以及真实图像Y的均值;σXY 表示生成图像X 和真实图像Y 的协方差;σX、σY 分别表示生成图像X 和真实图像Y 的方差;C1、C2为常量,根据文献[11],通常将它们设置为C1=0.01、C2=0.03,避免异常情况的发生。这样可以确保SSIM指标能够正确地评估生成图像X 和真实图像Y 之间的结构相似性。
2.4 消融实验
由表2可知,为了探究本文MDSRGAN模型对超分辨率图像的研究,分别从PSNR以及SSIM两个评价指标进行评估。
模型添加了DSBA 结构SRGAN 的PSNR 值和SSIM值分别提升了15%和0.5%,说明了DSBA结构对模型优化是有效的;由实验1与实验3比较可得,模型添加了DR结构SRGAN的PSNR值和SSIM值分别提升了7.5%和0.3%,验证DR结构对模型的优化是有积极作用的;由实验1与实验4比较可得,SRGAN模型添加了DSBA结构以及DR模块后的PSNR值和SSIM 值分别提升了30.9%和0.8%。综上所述,本文模型在PSNR值以及SSIM值相较于SRGAN模型都有明显提升。因此,本文模型能够更有效地恢复丢失的高频信息,更好地满足超分辨率图像重建的需求。
2.5 对比实验
由表3可知,为了验证本文模型的通用性,该对比实验从PSNR和SSIM两个角度评估本模型的性能。本实验使用Bicubic、SRCNN、VDSR以及Nearest算法与MDSRGAN做对比实验,依次取名为实验1~5。由实验结果可知,实验1的Bicubic算法对图像进行超分辨率重建PSNR 值为27.466,SSIM 值为0.728;实验2 的SRCNN 网络的图像超分辨率重建PSNR 值为27.249,SSIM值为0.768;实验3的VDSR网络重建结果PSNR值为27.552,SSIM值为0.773;实验4的Near⁃est 网络检测结果的PSNR 值为26.184,SSIM 值为0.728;实验5 的本文模型(MDSRGAN) 重建结果的PSNR值为27.558,SSIM值为0.776。本文模型分别比其他四种算法PSNR 值高0.092、0.309、0.06 以及0.374,并且SSIM 值分别高0.048、0.008、0.003 以及0.098,本文模型在PSNR和SSIM上都明显高于其他算法。综上所述,MDSRGAN模型在提取高频细节以及结构相似性方面有更好的效果。
2.6 实验结果
为了验证MDSRGAN模型对于图像分辨率的影响,本文从测试数据集中随机抽选出一张图像对MDSRGAN 模型在改进前以及改进后2 种不同的情况,对模型总体性能进行分析。
通过分析图5的实验结果可知,SRGAN在改进后图像的失真情况以及相似度2个不同的角度,都比原始的SRGAN模型有着极大提高。综上所述,改进后的MDSRGAN模型在对图像做超分辨率重建方面有着很好的性能。
3 结束语
本文在图像处理领域对图像超分辨率重建进行探究。由于目前超分辨率图像重建存在高频细节丢失、结构化失真的问题,本文提出了MDSRGAN模型对图像超分辨率图像进行处理。为了解决图像超分辨率重建在高频细节丢失与结构化失真方面的不足,本文提出了DSBA模块对图像进行处理,该模块采用通道注意力机制和空间注意力机制并行的方式,既可以提高了对图像关键信息的提取,又可以减弱由于卷积块对原始信息丢失而产生失真的问题。
针对图像重建过程中的失真问题,本文提出了DR模块对图像原始信息的保存,该模块是采用密集残差块的方式,上层浅层特征的输出作为下层深层特征的输入,依次迭代,可以进行数据前向传播的同时,极大地保留了各个阶段数据的原始信息,有利于解决图像处理过程中图像失真问题。为了验证模型性能的可行性,本文通过消融实验以及与Bicubic、SRCNN、VDSR以及Nearest等算法做对比实验,都具有良好的相似度以及真实度,验证了MDSRGAN模型具有很好的可行性,为图像超分辨率重建提供了新的思路。