人工智能时代,获取清晰可辨的视觉图像成为大多数智能应用的重要基础。单幅图像超分辨率(super-resolution,SR)是计算机视觉图像复原领域的关键性技术,旨在从低分辨率(low resolution,LR)图像中恢复出细节纹理清晰、信息丰富的高分辨率(high resolution,HR)图像,被广泛应用于卫星遥感[1]、智能检测[2]、视屏监控[3]和医学影像[4]等领域。然而,图像SR是一种欠定的逆向问题,由于任意的LR输入存在多个HR图像解空间[5],致使大量的单幅图像SR算法被提出。
现有的图像SR算法主要分为基于插值的算法[6]、基于重建的算法[7]和基于学习的算法[8-9]。得益于卷积神经网络(convolution neural networks,CNN)强大的信息自提取和特征表达能力,使基于学习的图像SR成为当下最受关注的算法。Dong等[8]首次将3层CNN引入图像SR中,提出了超分辨率卷积神经网络(super-resolution convolutional neural network,SRCNN)模型,SR恢复效果相比传统重建算法有明显提升。此后,基于CNN的端到端的图像SR快速涌现。为了进一步增强网络性能,研究者通过扩大网络深度或宽度来捕获更加细腻的特征信息。Kim等[9]提出一种具有20层的深度超分辨率(very deep super-resolution,VDSR)方法。同时,为了避免因增加网络深度而导致的梯度消失现象,残差网络(residual network,ResNet)在基于学习的SR中被广泛应用[10-13]。例如,Lim等[12]提出的增强深度残差超分辨率(enhanced deep residual network for super-resolution,EDSR)将大量的残差块堆叠形成更深网络;Zhang等[13]提出的残差通道注意力网络(residual channel attention network,RCAM)将通道注意力融入到残差中残差(residual in residual,RIR)结构中,捕获通道特征与高频信息之间的联系。
尽管通过堆叠网络能够提升图像SR的效果,但是庞大的网络模型带来两个现实问题:大模型参数消耗过多存储空间,实际部署困难;复杂的模型影响运行速度,限制时效性。为了解决这些问题,人们充分挖掘神经网络结构,从不同的角度出发考虑网络模型尺度与SR重建性能之间的平衡。其中,多尺度融合的方式在不增大网络复杂度的情况下能够极大程度利用各层网络提取有效特征信息。卢正浩等[14]提出一种多尺度特征复用混合注意力网络模型进行LR图像重建,有效克服SR模型采样信息损失和高频信息重建困难的问题。王万军等[15]设计多尺度联合网络实现图像SR,利用多尺度网络采样LR图像特征,再将多尺度特征进行融合增强,最后联合多种损失函数优化网络模型。近年来,信息蒸馏网络(information distillation network,IDN)[16]在轻量级SR中被广泛使用[17-19],以通道切片的方式逐层提取特征,不仅提高了模型运行速度,重建效果也有所提升。但通道的切分使复杂的上下文特征信息提取不佳,并且后续对通道的简单拼接不能很好地融合浅层的相关信息,存在高频信息提取和特征利用率不足的问题。
为了解决上述问题,本文提出一种多尺度信息蒸馏的图像SR重建算法。相比于信息多重蒸馏网络(information multi-distillation network,IMDN)[17]在同一分辨率空间的信息蒸馏块,多尺度信息蒸馏网络(multi-scale information distillation network,MSIDN)应用多阶段策略逐步恢复高质量的SR图像,通过由粗到细的监督方式产生更稳健的边缘纹理特征表达,有助于获得高质量重建效果。MSIDN由新颖的多尺度信息蒸馏编解码模块(multi-scale information distillation codec block,MIDCB)组成,MIDCB运用切分特征通道的方式捕获重建的高频信号并保留浅层信息不变,同时采用特征跳连和注意力融合机制充分利用编解码特征,能够更好恢复图像的结构信息和边缘纹理。
1 算法设计
1.1 总体网络框架
图1展示了4倍放大因子下MSIDN的SR网络框架。其中,k表示卷积核大小,n表示通道数,s表示步长。所述框架由2个MIDCB组成,每经过一个MIDCB,重建图像扩大2倍。
LR图像往往缺乏丰富的纹理细节和边缘高频信号,采用单阶段的SR算法容易造成重建不稳定、效果不佳的问题,而以多阶段的方式分解成多个简单的子过程能够稳健地重建纹理细节。本文提出的多阶段SR算法MSIDN首先使用卷积操作从LR图像中提取浅层特征[F0],
[F0=C(Ilr)] (1)
其中[Ilr]表示LR图像,[C(?)]表示卷积操作。
之后,采用MIDCB逐步生成编解码特征图和重建SR图像,公式表示为:
[Fi=Mi,dc(Fi-1), i∈[1, …, q]] (2)
[Ii,sr=U(C(Fi)), i<qU(C(Fi))+U(C(Ilr)), i=q] (3)
其中,[Mi,dc(?)]表示执行第[i]次多尺度信息蒸馏编解码操作,[Fi]和[Ii,sr]分别表示第[i]次编解码特征图和放大[2i]倍的SR图像,[q]表示SR的倍数因子,[U(?)]表示上采样函数。
图2展示了来自本文算法不同分辨率空间的特征图。从图2中看出,LR图像对应的[F0]仅包含结构内容,缺乏边缘高频信号。经过多阶段的SR图像重建后,特征图中所富含的纹理信息和高频信号得到逐步恢复,如图2中[F1]到[F2]的变化过程。
1.2 多尺度信息蒸馏编解码
图像SR的重建利用LR图像中的像素点与周围像素之间的自相似性预测出插入的高频信号[15],CNN强大的信息自提取能力在SR中发挥重要作用。然而,为了获取更加具体的预测特征,CNN的模型框架日趋复杂,阻碍SR的现实运用。为解决这个问题,各种快速和轻量级的CNN模型备受关注。信息蒸馏利用通道切分操作来提取蒸馏特征,在不增加网络复杂度的情况下充分捕获和利用特征信息。Hui等[16]首次在图像SR中使用IDN,将通道切分卷积后进行简单拼接。此后,IMDB[17]使用渐进式细化模块,即每一步使用[3×3]的卷积层作为输入特征,将通道特征切分成两个部分,一部分保留,另一部分被送入下一个蒸馏。而Liu等[20]在IMDB的基础上提出残差特征蒸馏网络(residual feature distillation network,RFDN),通过设计浅层残差块(shallow residual block,SRB)在不引入额外参数的情况下获取残差特征。
上述IDN、IMDB和RFDN信息蒸馏算法通过切分特征通道提取有效信息的方式减小网络模型的参数量、提高运算速度,但在相同分辨率空间下进行切分、卷积操作,导致上下文特征以及高频边缘信息获取困难;而对所含高频信息极少的LR图像使用池化层(pooling)扩大感知范围,将会对后续的图像重建造成负面影响。为此,本文提出了一种新颖的MIDCB,如图3所示。
图3中MIDCB包括编码和解码两个阶段,在编码阶段,将特征图切分为两部分,一部分保持原分辨率空间,另一部分进行池化编码提取上下文信息和采集高频信号。MIDCB的特点在于获取高频信号的同时保留原始结构的有用信息,有效避免编码阶段有效信息的损失。对编码输入特征图[Fi,in]进行切分,得到浅层特征图[Fi,sh]和蒸馏特征图[Fi,di],建模表示为:
[Fi,sh, Fi,di=S(Fi,in)] (4)
其中:[S(?)]表示通道切分操作;[Fi,in]通道数为[N],[Fi,sh]通道数为[3×N/4],[Fi,di]通道数为[N/4];本文设置[N=64]。
批标准化(batch normalization,BN)破坏原数据分布以缓解过拟合,而实例标准化(instance normalization,IN)在通道内做标准化,加速模型收敛;通道注意力融合相关区域采集高频信号;池化操作具有上下文信息提取的能力。因此,对蒸馏特征图[Fi,di]依次执行标准化、通道注意力和池化获得下一阶段的编码输入特征图[Fi+1,in]。
[Fi+1,in=C(P(A[C(Ni(Fi,di)),C(Nb(Fi,di))]]))
(5)
其中:[Ni(?)]和[Nb(?)]分别表示IN和BN两种标准化函数;[A[?]]表示通道注意力融合两路特征图;[P(?)]表示池化操作。
浅层特征图[Fi,sh]在同分辨率空间中使用激活函数提取关键信息,并以残差的方式进行融合生成特征[F?i,sh]。
[F?i,sh=Fi,sh+S(C(Fi,sh))⊙C(Fi,sh)] (6)
其中,[ S(?)]表示Sigmoid激活函数,[⊙]表示元素乘法。
在解码阶段,利用增强高频信号(enhance high frequency,EHF)增强编码阶段捕获的高频信号,再与同分辨率编码的浅层特征融合,在恢复结构内容信息的同时插入SR的高频边缘信号,最后通过向上插值逐步重建SR图像。
1.3 损失函数
为了使MSIDN重建的SR图像具有清晰的结构和丰富的纹理细节,采用Charbonnier损失函数([?ch])和边缘损失函数([?eg])进行多阶段约束。总体函数约束公式表达如下:
[?T=i=1k[?ch(Ii,sr, Ii,hr)+λ?eg(Ii,sr, Ii,hr)]] (7)
其中:[Ii,hr]是对应于[Ii,sr]分辨率的真实图像;[λ]表示平衡因子,本文设置为0.1。
Charbonnier损失函数对真实图像执行像素级的逼近,与常用的均方差(mean squared error,MSE)相比,其优势在于避免平方惩罚造成的模糊和过度平滑,保证重建SR图像的结构清晰。其计算方式为:
[?ch(Ii,sr, Ii,hr)=(Ii,sr-Ii,hr)2+ε2] (8)
其中,[ε]是惩罚因子,本文设置[ε=10-3]。
同时为了获得更加丰富的边缘纹理细节,边缘损失函数通过拉普拉斯算子提取边缘高频信号,公式表达如下:
[?eg(Ii,sr,Ii,hr)=(ψ(Ii,sr)-ψ(Ii,hr))2+ε2] (9)
其中,[ψ(?)]表示拉普拉斯运算。
2 结果与讨论
2.1 实验数据与参数
使用标准公开数据集DIV2K[21]训练网络模型,其前800张用作训练,后100张用作验证。采用广泛使用的标准测试集Set5[22]、Set14[23]、BSD100[24]和Urban100[25]验证SR算法性能,并采用峰值信噪比(peak signal to noise ratio,PSNR)和结构相似性(structure similarity,SSIM)作为重建图像质量的客观评价标准。
MSIDN模型由PyTorch 1.8.0实现,使用NVIDIA GeForce GTX 3060 GPU。在训练过程中,将图像大小调整为[128×128],并归一化像素值为0到1。为了避免模型陷入局部最优,采用Adam优化器进行训练,指数衰减率[β1=0.9]00、[β2=0.999]。初始学习率和批次大小分别设置为3[×10-4]和12。模型训练损失如图4所示,800次迭代后损失误差逐渐趋于稳定,为防止过拟合,本文选取第800次迭代作为最终模型参数。
<G:\武汉工程大学\2024\第4期\邢晓敏-4.tif>[0 100 200 300 400 500 600 700 800 900
迭代次数][0.9
0.8
0.7
0.6
0.5][损失误差]
图4 训练损失图
Fig. 4 Training loss
2.2 实验结果与分析
为了验证本文所提算法的有效性,与多个经典的SR算法进行主客观实验比较。对比算法包括双三次项插值(Bicubic)、SRCNN[8]、深度递归卷积网络(deeply recursive convolutional network,DRCN)[9]、EDSR[12]、IDN[16]、IMDN[17]、RFDN[20]、退化感知超分辨率(degradation-aware super-resolution,DASR)[26]、纹理结构超分辨率(detail-structure super resolution,DSSR)[27]。表1显示了不同算法在4个公共数据集上4倍超分时的平均PSNR和SSIM对比结果。从表1中看到,Bicubic算法在4个数据集上的客观评价指标均最差。相比于SRCNN、DRCN、DASR和DSSR算法,本文算法在4个数据集上表现出明显的优势。本文算法与EDSR算法相比依然具有较好的实验结果,尤其在Urban100数据集上,平均PSNR和SSIM分别提升了0.34 dB和0.008 9。同样,与IDN、IMDN和RFDN算法相比,本文在4个数据集上的PSNR和SSIM平均值提升了0.25 dB和0.012 6。
为了从视觉上展示本文算法的性能,选取Set14数据集中的2张图像,本文算法和其他SR算法进行4倍重建后的主观效果如图5所示。
由图5可知,Bicubic和SRCNN算法重建的SR图像内容结构扭曲;而IMDN、RFDN、DASR和DSSR算法重建的SR图像在嘴部放大时出现模糊现象;尽管使用残差块的EDSR算法重建结果细节得到较好的恢复,但从视觉效果上本文算法更接近真实图像。由此说明,本文算法在内容恢复方面更加保真。为了进一步从边缘纹理上表现本文算法的优越性,从Urban100数据集中选取‘img_005’和‘img_034’进行放大比较,结果如图6和图7所示。
从图6和图7中可以看出,Bicubic、SRCNN、IMDN、RFDN、DASR和DSSR算法的重建图像内容模糊、边缘细节损失严重。尽管EDSR算法与本文算法重建图像的边缘纹理更加清晰,但是EDSR算法的模型参数量是本文算法的2倍。由此,再次验证本文设计的MIDCB在降低模型参数量的同时能够提取更加丰富的高频信息。
3 结 论
为了解决现有SR算法计算复杂、参数量庞大的问题,受信息蒸馏理论启发,提出一种多尺度信息蒸馏算法重建SR图像,利用多阶段逐步恢复策略对重建信息渐进提取。同时,设计的MIDCB在每一阶段通过切分编码特征通道提取上下文高频信号,并保留浅层结构信息不变,一定程度上减少网络的参数量。最后利用通道注意力融合浅层编码特征和高频信息逐步恢复SR图像。在4个公开数据集上的单幅图像SR实验结果表明,提出的MSIDN能够有效增强重建图像的高频信息,主客观评价优于前沿SR算法。