1. 引言
图像超分辨率重建(Image Super-resolution, SR)是指从低分辨率(LR)图像中重建为高分辨率(HR)图像的过程,是计算机视觉领域中重要的研究方向之一。该图像处理技术在现实生活中应用广泛,例如医学成像 [1] 、卫星遥感 [2] 、监控成像 [3] 与目标识别 [4] 等。除了提高图像感知质量外,图像超分辨率重建还有助于其他计算机视觉任务 [5] 的完成。根据前人的研究,当下主流的图像超分辨率方法包括基于预测的方法 [6] 、基于边缘的方法 [7] 、基于补丁的方法 [8] 、基于稀疏表示的方法 [9] ,以及基于统计的方法 [10] 等。
近年来随着深度学习的快速发展,基于深度学习的图像超分辨率模型得到了显著提升与完善。2014年,Dong等人 [11] 首次为图像超分辨率引入三层卷积神经网络(CNN),并提出了著名的SRCNN。此后,Kim等人在VDSR [12] 和DRCN [13] 中将网络深度增加到20层,相较于SRCNN的图像超分辨率效果取得了显著的提高。可见,模型的网络深度对许多计算机视觉任务起着不可或缺的作用,这一观点在He等人提出的残差网络(ResNet) [14] 中被证实。这种有效的残差学习策略随后被引入到许多其他基于卷积神经网络的图像超分辨率方法中。2017年,Lim等人 [15] 通过使用简化的残差块构建了较为宽泛的网络模型EDSR和深度较深的网络模型MDSR。EDSR与MDSR在性能上的显著提升,再次表明了模型的网络深度对图像超分辨率性能至关重要。同年,Ledig等人受生成对抗网络(Generative Adversarial Networks, GAN) [16] 的启发,将该算法思想应用于图像超分辨率重建,并提出了基于生成对抗网络的超分辨率图像重建(SRGAN) [17] 。SRGAN模型中同样包含了残差网络结构,但通过大量实验显示,简单地堆叠增加残差块的数量来构建更深层的网络,很难获得理想的效果与性能的提升。为了解决该问题,本文提出了一种深度残差的网络结构(Depth-ResNet),即残差中的残差,以形成较深的可训练网络。该网络结构中所包含的长短跳跃连接,使得图像中的低频信息可以被尽可能的绕过,从而一定程度上缓解了信息流动,更好地把握住图像中的高频细节,最终提高了图像超分辨率视觉效果。
2. 提出的方法
2.1. 方法概述
本节将描述所提出的模型架构。本文首先分析了近些年基于SRGAN的相关研究工作,并提出一种效果更好的残差网络架构Depth-ResNet,实现了残差中包含残差的效果,增强了网络对高频细节特征的提取能力。为了平衡在生成器中引入Depth-ResNet所带来的较深网络,本文在损失函数中引入了Charbonnier损失函数与对抗损失函数,并优化了判别器的网络结构,在一定程度上提高了图像的重建质量。
2.2. 残差块的改进
自从He等人在里程碑式的研究 [14] 中首次提出了残差网络(ResNet)这一概念以来,该架构已在众多计算机视觉任务中展现出卓越的性能表现。尽管Ledig等人随后在文献 [17] 中对原始ResNet架构进行了针对性优化,进而衍生出适用于图像超分辨问题的SRResNet模型,并在该领域取得了显著成效;然而,本文通过采用一种更为先进的残差网络构造方式,进一步提升了性能。

Figure 1. Comparison of ResNet, SRResNet, and Depth-ResNet residual blocks
图1. ResNet、SRResNet、与Depth-ResNet残差块的比较
图1中比较了原始ResNet、SRResNet与本文所提出的Depth-ResNet的残差块结构。本文提出的Depth-ResNet残差块的构造参考了Nah等人 [18] 的做法,将网络内部的批量规一化层(BN)移除。鉴于批量归一化层对图像中的特征进行标准化操作,其内在地限制了网络对输入数据动态范围的适应性,故而移除该层可以释放网络的灵活性并有利于性能的提升。此外,LeakyReLU激活函数能够间接影响模型对输入数据分布的要求,在一定程度上可以降低对额外数据标准化步骤的需求。因此,本文选择将原始的ReLU激活函数替换为LeakyReLU激活函数,并引入Depth-ResNet残差块中,从而在图像特征处理中促进信息流动、改善深层网络的训练效率。
2.3. 实现深度残差的Depth-ResNet
本文所提出的Depth-ResNet实现了深度残差的效果,即残差网络中包含了若干残差网络。该网络结构的设计采用了多层级、多层次的残差组织方式,由一系列相互连接的长跳跃残差组构成,在每个残差组内部,又进一步整合了若干具有短跳跃连接的残差块单元。这一设计旨在通过多重连接路径实现图像特征的有效传递与整合。具体来说,Depth-ResNet网络架构的独特之处在于其能够利用长跳跃连接跨越多层网络深度,有效地保留并传播图像中的低频信息,从而使得主干网络无需重复处理这些基础特征,可以更专注于学习和捕获高频及细节丰富的信息内容。

Figure 2. Network architecture of Depth-ResNet-1
图2. Depth-ResNet-1的网络架构

Figure 3. Network architecture of Depth-ResNet-2
图3. Depth-ResNet-2的网络架构

Figure 4. Network architecture of Depth-ResNet-3
图4. Depth-ResNet-3的网络架构
图2、图3、图4给出了关于Depth-ResNet的更多细节信息,在上述图中使用“Depth-ResNet-i”标识不同的网络架构,其中“i”表示网络中包含的残差块的数量,也可以认为是对网络深度的衡量。Depth-ResNet的最外层连接即为长跳跃连接,向内即为短跳跃连接。这种残差结构能够改善深层网络的训练效率与性能。
受前人工作成果 [17] 的启发,本文将Depth-ResNet中深度特征提取模块Depth-Block表示为
,将Depth-ResNet-i中深度残差模块表示为
,其中
表示网络的输入,此处使用
表示输入的低分辨率图像LR,
表示输出的重建后图像SR。则Depth-ResNet-1的输出可表示为:
(1)
进一步使用深度残差模块表示Depth-ResNet-2与Depth-ResNet-3的输出:
(2)
(3)
由上述(1)、(2)、(3)式可以归纳出Depth-ResNet-i的输出表达式:
(4)
由(4)式可知,随着Depth-ResNet深度的调整与扩展,深度特征提取模块Depth-Block对低分辨率图像
的信息抽取次数不断增多,这一过程不仅加深了模型对图像结构的理解,更强化了对图像高频细节特征的学习与表达能力。这是因为每一层Depth-Block都会在前一层的基础上进一步细化特征图谱,更加关注那些能够揭示图像边缘、纹理等细微变化的高频成分。
此外,网络中的长跳跃连接跨越了多个层级,将浅层网络中的低频信息直接传递至深层网络中,使得在网络学习过程中,主干网络可以避免重复处理这些基础特征信息,从而集中精力去捕捉并保留更为复杂且具有区分度的高频特征。存在于残差组内部的短跳跃连接,确保了局部层级间的特征得以有效整合与传播,有助于优化梯度流,并在一定程度上缓解了深度神经网络在训练过程中梯度消失的问题。简而言之,Depth-ResNet通过深度残差的结构配置与层次间信息流动的机制,在保持模型深层表达能力的同时,有效地提升了图像重建任务的准确性与视觉表现力。
2.4. 基于Depth-ResNet的生成对抗网络
本文基于Depth-ResNet的生成对抗网络,由生成器(Generator)与判别器(Discriminator)组成。
生成器(图5)将低分辨率图像(LR)作为输入,依次通过一层卷积层、num个不同深度的Depth-ResNet,以及一个上采样模块与一层卷积层进行图像重建。根据实验条件,此处Depth-ResNet数量num取8、16、24、32,深度
。
判别器则是用来判断生成器生成的高分辨率图像(SR)与原始图像(HR)是否相似,并加以区分。本文提出的判别器模型(图6)由多个D-Block模块组成,每个D-Block由一层卷积层、批量归一化BN层与LeakyReLU激活函数构成,通过7个D-Block模块组合的方式对图像高频细节特征进行深度提取。因为批量归一化BN层在判别任务中效果较好,且能稳定网络的训练,所以本文在设计D-Block模块时选择保留BN层。判别器本质是一个二分类问题,而Sigmoid层主要功能是提供一种连续且可微的概率估计,并且具有平滑性与饱和性的特点,在解决二分类问题时,可以有效地处理复杂的决策边界。因此,本文在判别器的最后一层中选择使用Sigmoid层进行处理。以下该式可以表示判别器的二分类问题:
(5)
其中
表示Sigmoid激活函数、
表示图像的总像素数量,
与
分别表示原始图像
与生成器生成的高分辨率图像
在第
个像素处的灰度值。上述(5)式的基本思想是衡量生成器生成的高分辨率图像
与原始图像
之间的差异,并进行二分类。
基于Depth-ResNet的生成对抗网络结构如下图所示。

Figure 5. The network architecture of the generator
图5. 生成器的网络结构

Figure 6. The network architecture of the discriminator
图6. 判别器的网络结构
2.5. 损失函数
本文算法的损失函数参考Lai [19] 等人的做法,在SRGAN生成器对抗损失函数的基础上引入抗噪性更强、鲁棒性更好、对图像边缘细节更敏感的Charbonnier损失函数,旨在网络训练过程中加强对图像高频细节特征的提取。Charbonnier损失函数如下:
(6)
上式中
为原始图像HR,
为生成器生成的高分辨率图像SR,
为加入的惩罚项。SRGAN中的对抗损失旨在网络训练过程中,通过判别器的输出对生成器模型的参数进行优化,从而实现两个网络间的动态博弈过程。此外,对抗损失还鼓励生成器产生更多自然、随机且丰富的细节特征,并且允许模型学习从低分辨率图像到高分辨率图像的复杂非线性映射关系,因此本文选择保留SRGAN中的对抗损失,其表达式如下:
(7)
上式中
为输入网络的低分辨率图像LR,则
表示的是生成器生成的高分辨率图像SR,
表示的是判别器将生成器生成的图像SR判别为原始图像HR的概率。综合以上损失函数,可以得到生成器的总损失
:
(8)
上式中
、
为所选取的权重系数,本文取
=
= 1。
3. 实验结果与分析
本文实验训练使用Ubuntu20.04操作系统、Python3.10、Pytorch2.0.1、CUDA11.8,CPU型号为Intel(R) Xeon (R) Platinum 8260 CPU @2.30GHz,GPU型号为NVIDIA GeForce RTX 3090,显存为24 G。本实验的训练数据集采用DIV2K数据集中的800张训练图像,测试集使用基准数据集Set5、Urban100、BSD100、Sun-Hays80、Managa109。实验训练过程中使用Adam优化器,参数设置如下:
= 0.9,
= 0.999,
,学习率lr为
。本实验为了探究Depth-ResNet深度与数量对于模型性能的影响,并得出最优的Depth-ResNet深度与数量组合,将Depth-ResNet的深度划分为1至10,每个深度归为一组,对应Depth-ResNet数量为8、16、24、32。本文在Set5基准数据集上对上述组合进行4倍放大的测试,由于实验条件的限制,模型的参数量应小于
。为了验证最优Depth-ResNet深度与数量组合的有效性,本文选取了传统的超分方法双三次插值法Bicubic与基于学习的方法EDSR [15] 、MDSR [15] 、SRGAN [17] 来进行比较实验。
3.1. 评价指标
本文使用峰值信噪比(Peak Signal-to-Noise Ratio, PSNR)与结构相似性指数(Structural Similarity Index, SSIM)来对重建图像质量进行评估。其中PSNR用于衡量两幅图像之间的最大可能误差,PSNR的值越大,表示两幅图像之间的差异越小,图像重建质量越好。PSNR的计算公式如下:
(9)
上式中
表示图像中可能的最大像素值,对于彩色图像来说此值取
,即255。式中
与
分别表示原始图像HR与生成器生成的高分辨率图像SR,W与H分别表示图像的宽度与高度,
则表示原始图像HR与生成器生成的高分辨率图像SR对应像素点之间的差异。
由于PSNR只与像素级MSE有关,并且只关注对应像素之间的差异,因此若要更好地衡量重建图像的质量,还需引入一种更复杂的图像质量评估指标SSIM。SSIM不仅考虑了像素值之间的差异,还考虑了图像的结构信息,其计算公式如下:
(10)
其中
与
分别表示原始图像HR与生成器生成的高分辨率图像SR的均值,
表示两幅图像的协方差,
与
分别表示两幅图像的方差。为了避免分母为零,故在(10)式中加入
、
、
三个小常数。式中的
、
、
为所选取的权重系数,通常取值为1。SSIM值的范围在0至1之间,其值越接近于1,表示两幅图像的结构相似度越高,图像重建质量越好。
3.2. 实验量化结果分析
图7、图8是由表1数据绘制的折线图,用以反映Depth-ResNet不同深度与数量组合对模型性能的影响。在表1中,我们使用黑体标注出不同深度Depth-ResNet中最佳实验数据,并以下划线标识出全局最优实验效果的数据。

Table 1. Comparison of depth and quantity experimental results of Depth-ResNet (Depth-ResNet: Depths up to 10, parameter count less than or equal to 1 × 107)
表1. Depth-ResNet的深度与数量实验结果对比(Depth-ResNet深度 ≤ 10,参数量 ≤ 1 × 107)
本文在2.3节中,用理论的方式推出随着Depth-ResNet深度的调整与扩展,网络中的Depth-Block模块能够更频繁地抽取图像的特征,在高频细节方面有更强的学习与表现能力,所对应重建图像的峰值信噪(PSNR)比与结构相似性指数(SSIM)将会逐渐提高。但是由表1实验数据对应的折线图显示,不同数量的Depth-ResNet组合的性能随着Depth-ResNet深度的增加,并非呈现明显的递增趋势,而是呈现出一种规律性的上下浮动。即增加Depth-ResNet网络的复杂性并不一定会带来理想的性能提升,反而有可能出现过拟合现象导致模型性能的下滑。因此,应当合理权衡网络的深度与宽度,选择合适的Depth-ResNet深度与数量的组合,以达到最优的模型性能。
根据图表中数据显示,对于复杂度较低、Depth-ResNet数量组合为8与16的网络来说,选取奇数深度,模型将会有较好的性能表现;而对于复杂度较高、Depth-ResNet数量组合为24与32的网络而言,选取偶数深度,模型的性能将会表现较好。
由图8折线图显示,当网络中Depth-Block的数量选取在60至80之间,过拟合现象将会对模型的影响较小,性能表现较为优异。

Figure 7. Depth-ResNet: Model performance comparison across different depths
图7. Depth-ResNet不同深度对应的模型性能对比

Figure 8. Depth-Block: Model performance comparison for varying numbers of blocks
图8. Depth-Block不同数量对应的模型性能对比
图9为表1中不同深度Depth-ResNet的最佳实验数据组别所绘制的散点图,其中使用红色加粗点标注的是全局最优实验数据组别。从图9中可以发现Depth-ResNet深度为2、数量为32的网络模型参数量在
左右,这个数值恰好接近于散点图中所有不同组别参数量分布的平均水平,表明该模型的参数规模处在适宜的区间之内。综合上文所述,在本文的实验条件下,最优的Depth-ResNet深度与数量组合如下:Depth-ResNet深度为2、数量为32,Depth-Block数量为64的网络模型。

Figure 9. Performance and parameter count comparison for various “depth-quantity” combinations in Depth-ResNet
图9. Depth-ResNet不同“深度–数量”组合的性能与参数量对比
为了验证最优Depth-ResNet深度与数量组合的有效性,本文选取了传统的超分方法双三次插值法Bicubic与基于学习的方法EDSR [15] 、MDSR [15] 、SRGAN [17] 来进行比较实验。并在基准数据集Set5、Urban100、BSD100、Sun-Hays80与Manga109上进行尺度因子×2、×3、×4的对比实验。

Table 2. Objective evaluation metric comparison at scale factors ×2, ×3, and ×4 on benchmark datasets
表2. 基准数据集尺度因子×2、×3、×4客观评价指标对比
在表2中,我们分别使用黑体和下划线来标识出每组实验中的最优结果与次优结果,并对数值相同的结果采取了相同的记号标注在对应数据的右上角以示区分。
从整体视角审视,最佳的Depth-ResNet深度与数量组合模型,在面对不同尺度因子下的五个基准数据集测试时,其性能均位列各组实验的最优结果与次优结果之中,并且最优结果在总实验中占据了较大比例。
从每组实验结果来看,最佳的Depth-ResNet深度与数量组合模型在3倍与4倍的重建任务中表现较为优异,最优结果占所有实验的绝大多数,说明Depth-ResNet在处理复杂且难度较高的图像重建任务时,对图像细节与高频特征的提取具有出色的性能表现。
而在2倍重建任务中,可以发现小部分测试集中最佳Depth-ResNet组合模型处理结果略逊色于MDSR,甚至在Urban100测试集上比Bicubic方法的SSIM值还落后0.007。据实验分析,这是由于图像重建倍率较小时,输入的低分辨率图像本身已经包含了明显的特征信息,使用MDSR就足够充分提取关键信息,少部分重建任务使用Bicubic即可完成。对表2中的数据继续分析,发现在Manga109基准数据集上,传统的插值方法Bicubic在各个尺度因子下重建效果均较好,而包括最佳Depth-ResNet组合模型在内的基于学习的方法重建效果却表现并不理想。回顾模型的训练过程,发现基于学习的各类模型都是在DIV2K数据集上进行训练的,DIV2K数据集中的图像包含的主要是各种自然场景,涵盖的是日常风景、人物与建筑等主题场景。而本实验中使用的Manga109数据集包含的则是动漫风格的图像,与日常生活的风景场景相比,其艺术风格迥异,色彩丰富且线条特征明显。此类图像往往具有独特的纹理与绘画风格,不同于基于现实生活图像训练的模型所擅长处理的内容。因此,基于学习的各类方法在此基准数据集上的表现较差。相反,传统的插值方法Bicubic是通过局部像素邻域信息进行插值,不易受数据集种类的影响,故其在Manga109数据集上重建效果较好。
根据表2实验数据,需要注意的是在Manga109基准数据集上,最佳Depth-ResNet组合模型虽然不擅长处理此类场景的图像,但是其重建数据依然位列于各组实验的最优结果与次优结果中,说明Depth-ResNet可以很好地把握图像中的高频细节,并提高图像超分辨率效果。
3.3. 纹理细节对比分析
图10、图11、图12呈现了最佳Depth-ResNet深度与数量组合模型与其他重构方法在各个基准数据集上的性能比较结果,其中最优模型的峰值信噪比(PSNR)和结构相似性指数(SSIM)以黑体标注显示。

Figure 10. Qualitative comparison of ×4 super-resolution on benchmark datasets Set5
图10. 在Set5基准数据集上×4超分辨率的定性比较



Figure 11. Qualitative comparison of ×4 super-resolution on benchmark datasets Urban100, BSD100, Sun-Hays80
图11. 在Urban100、BSD100、Sun-Hays80基准数据集上×4超分辨率的定性比较

Figure 12. Qualitative comparison of ×4 super-resolution on benchmark datasets Manga109
图12. 在Manga109基准数据集上×4超分辨率的定性比较
通过观察可以发现,最佳Depth-ResNet组合模型在重建图像时不仅取得了最高的PSNR与SSIM值,而且其重建图像在高频细节表现上更为突出,纹理层次更为清晰,从而呈现出更优的视觉效果。
4. 结束语
本文提出的基于深度残差生成对抗网络的图像超分辨率算法,实现了一种深度残差的结构(Depth-ResNet),即在残差中嵌套残差,来形成非常深的网络。Depth-ResNet通过多个跳跃连接绕过了一定数量的低频信息,从而使得主网络专注于学习图像中的高频信息。此外,为了平衡Depth-ResNet在生成器上的性能,本文在生成器损失函数上采用了Charbonnier损失函数与对抗损失函数,并优化了判别器的结构。随着Depth-ResNet数量与深度的调整变化,图像重建效果将呈现出一种规律性的上下浮动,本文实验发现:对于复杂度较低的网络来说,选取奇数深度的Depth-ResNet,模型将会有更好的性能表现;而对于复杂度较高的网络而言,选取偶数深度,模型的性能将会有一定程度的提高。并且当网络中Depth-Block的数量选取在60至80之间,过拟合现象将会对模型的影响较小。除此之外,本文通过大量实验得出了最优的Depth-ResNet深度与数量组合如下:Depth-ResNet深度为2、数量为32,Depth-Block数量为64的网络模型。实验结果显示,该模型相较于传统的插值方法Bicubic与基于学习的方法EDSR [15] 、MDSR [15] 、SRGAN [17] 在不同放大倍率、不同基准数据集下都具有不小的优势。并且该最佳Depth-ResNet组合模型的参数规模处于实验中的平均水平,分布于合理区间内,具有一定的应用价值。但本文在实验中发现,增加Depth-ResNet网络的复杂度与模型性能的提升并不是简单的线性关系,反而有可能出现过拟合现象导致模型性能的下滑。因此,解决该问题,并平衡网络复杂度与模型性能的关系可作为下一步的研究方向。
基金项目
本研究得到了江苏省高等学校大学生创新创业训练计划项目“基于生成对抗网络的超分辨率图像重构研究”(202311463057Y)的支持。
NOTES
*通讯作者。