陈纯毅,吴欣怡,胡小娟,于海洋
(长春理工大学 计算机科学技术学院, 吉林 长春 130022)
传统光学成像系统使用多组光学透镜将光线折射聚焦到传感器上,由此建立目标场景和传感器像素之间的对应关系,传感器将光信号转换为电信号,再经过数字化处理得到最终图像。在此过程中,成像分辨率与信息量不可避免地受到光学衍射极限、探测器离散采样、成像系统空间带宽积等若干物理因素的影响[1]。受制作工艺和成本限制,从硬件方面提高图像的分辨率很难突破,因此图像超分辨率重建技术得到了广泛关注[2-3]。
图像超分辨率重建是指由低分辨率(Low Resolution, LR)图像或图像序列重建高分辨率(High Resolution, HR)图像[4]。其中,单幅图像超分辨率重建技术已被广泛应用于高光谱成像[5-6]、医学影像[7-9]、卫星遥感[10-11]、人脸识别[12-13]等领域。
图像超分辨重建的最主要目的是增加数字图像的像素数,尽可能重建图片中的高频信息,获得边缘纹理清晰可见,颜色保真的图像。目前,单幅图像超分辨率重建(Single Image Super- Resolution,SISR)的传统方法主要分为三类,分别是:基于插值的方法[14]、基于重建的方法和基于浅层学习的方法。基于插值的方法是根据LR 图像像素的排列关系就近选择性质相同的像素值进行重建。常见的插值算法如双三次插值法(Bicubic),目前大部分情况将其用于预先上采样模型的数据预处理。虽然计算简单但是损失较多,重建图像边缘通常会产生锯齿伪影,效果不好。基于重建的方法首先要构建退化模型,通过退化模型逆推重建图像。基于浅层学习的方法是从大量的LRHR 图像样本中学习图像对之间的联系,根据学到的变换对低分辨率图像进行重建。
近几年,卷积神经网络与超分辨率重建任务结合更加常见[15-16]。2014 年,Dong 等人[17]受传统稀疏编码学习的启发,构建了由图像特征提取表示层、非线性映射层及重建层构成的超分辨率卷积神经网络(Super-Resolution Convolutional Neural Network, SRCNN),其输入是经双三次插值放大到目标尺寸的LR 图像,因此训练速度较慢。为了加快训练速度,Dong 等人[18]提出了对SRCNN的改进模型,即快速超分辨率卷积神经网络(Fast Super-Resolution Convolutional Neural Network,FSRCNN),其使用反卷积进行上采样操作,并置于网络末端。网络内部则采用尺寸较小的卷积层,输入小尺寸图像块,降低了计算复杂度,提升了重建质量。Kim 等人[19]构建了一个20 层深度的卷积网络VDSR(Super-resolution using Very Deep Convolutional Network),证明了加深网络和全局残差学习对超分辨率重建任务有效,并且在训练时使用梯度裁剪策略解决了加深网络带来的梯度问题。为了减轻训练深层网络的难度,Tai 等人[20]提出深度递归残差网络(Deep Recursive Residual Network, DRRN),DRRN 引入了局部残差学习,每运行几层就进行一次残差学习,最后的输出进行全局残差学习,同时用递归学习控制模型的参数量。Shi 等人[21]提出的高效亚像素卷积神经网络(Efficient Sub-Pixel Convolutional Neural Network, ESPCN),使用亚像素卷积对图像放大,节约了重建成本的同时也增强了网络对复杂映射的学习能力。Zhang 等人[22]将稠密连接网络和残差网络相结合,提出了稠密残差网络(Residual Dense Network, RDN),该模型充分利用浅层特征,但因为参数量过大,无法投入实际应用。Lim 等人[23]提出增强深度残差(Enhanced Deep Super-Resolution, EDSR)网络结构实现,为了减少计算量,移除残差模块中不必要的归一化层和激活函数层,之后的很多研究也省去了归一化层。Zhang等人[24]提出的RCAN(Residual Channel Attention Network)网络首次在图像超分任务中加入通道注意力机制,并用残差嵌套结构加深网络。Li 等人[25]提出的多尺度残差网络(Multi-Scale Residual Network, MSRN)使用两种不同大小的卷积核交叉串联对输入图像进行反复的特征信息提取,网络收敛速度快,重建效果好。Zhao 等人[26]利用像素注意力机制构建了高效的图像超分辨率重建网络PAN(Pixel Attention Network)提升了重建性能。提升重建性能不仅可以通过网络结构实现,还可以从训练策略上入手。Wang 等人[27]采用边缘增强的梯度损失训练边缘增强特征蒸馏网络(Edgeenhanced Feature Distillation Network, EFDN),基于重参数化法构建边缘增强的多样化分支块,提取了更多的高频特征。
在上述模型中SRCNN[17]、FSRCNN[18]和ESPCN[21]属于浅层网络模型,后两者均属于后置上采样模型,分别在网络末端使用反卷积和亚像素卷积对图像上采样重建,与使用插值算法进行预先上采样的模型相比效果明显更好。三种模型使用的卷积层数都较少,因此在重建比例较大时效果虽然优于传统模型但依旧不理想。VDSR[19]、DRRN[20]、RDN[22]及EDSR[23]均属于利用了残差学习的深层模型,前三者使用梯度裁剪抑制深层网络容易出现的梯度问题,EDSR[23]去掉了归一化层,简化了网络结构,并且使用单一模型解决多尺度缩放的问题。但上述模型仍有不足,首先,网络模型计算量依然很大,其次,忽视了特征通道重要性的差异,对不同类型的信息都采用相同的处理方式,导致其重建性能受限。RCAN[24]和PAN[26]采用不同的注意力机制分别挖掘不同特征通道和不同像素之间的联系,以提升重建性能,但模型中的卷积核大小单一,对多尺度特征利用不充分,并且其组内各模块采用串联的方式,中间层特征未得到利用。MSRN[25]和EFDN[27]对网络中的层次特征和图像的多尺度特征加以利用。从计算复杂度上考虑,MSRN[25]参数量多于EFDN[27]。以训练难度衡量,EFDN[27]使用高级的调优策略,训练过程更复杂,但重建效果更好。
针对上述单幅图像超分辨率重建算法中出现的特征提取尺度单一、特征通道处理方式不灵活、特征复用不充分、深层网络训练难等问题。本文提出了基于多尺度残差网络的SISR 方法,对现有的多尺度残差网络进行改进,主要工作如下:(1)为了缓解单一尺度卷积造成的特征丰富度缺失,采用沙漏状的多尺度特征提取单元,加入通道注意力机制,根据学习权重筛选特征通道,灵活处理通道信息,提升模型计算效率;(2)将局部残差学习和全局残差学习相结合,提高了信息流传播的效率,引入浅层特征和多级层次特征加强监督;(3)使用多路分支的级联网络结构,扩宽网络宽度,充分利用图像的上下文信息,提升重建图像的质量。
本文提出的多尺度注意力残差网络(Multi-Scale Attention Residual Network, MSARN)结构如图1 所示。该网络结构包括浅层特征提取模块、多尺度特征提取模块(Multi-Scale Feature Extraction Block,MSFEB)、残差分支(Residual Branch,RB)和特征融合重建层(Feature Fusion Reconstruction Layer,FFRL)。网络输入为低分辨率图像块ILR,输出为超分辨率重建结果ISR。
图1 多尺度注意力残差网络Fig.1 Multi-scale attention residual network
图像的浅层特征与原始输入相比包含更多的像素点信息。由单层卷积生成的低层特征映射可以捕获输入图像的细节。浅层特征提取选用大小为3×3,输出通道数为64 的卷积层,为保证输入输出大小一致padding=1。浅层特征提取可表示为:
其中,HSF(·)表示卷积操作,F0是提取出的浅层特征,即多尺度特征提取模块和残差分支的输入。
多尺度特征提取模块由多个沙漏状的多尺度特征提取单元(Multi-Scale Feature Extraction Unit,MSFEU)组成,图2 为多尺度特征提取单元结构。
图2 多尺度特征提取单元Fig.2 Multi-scale feature extraction unit
图像的多尺度特征由3 个分支提取,每个分支分为两级,包含不同数目的卷积层,每个卷积层后默认添加Leaky ReLU 激活层。设Mn-1为前一单元的输出,第一级3 条分支得到的结果可表示为:
其中,Fi,j代表第i级第j条分支的输出结果,r(·)表示Leaky ReLU 激活函数,“*”表示卷积运算,W表示对应卷积层的权重,W下标是对应的卷积核大小,上标对应所属级数和从上到下的序号。
第一级的结果两两分组输入到下一级中交叉级联,继续提取深层特征。三条分支提取到的深层特征在通道维度上级联,再由Fusion 层融合得到更丰富的特征描述。第二级多特征提取结果可表达为:
其中,FLF表示融合得到的多尺度特征,Concat(·)表示特征按通道级联。Fusion(·)代表卷积核大小为1×1 的卷积操作,作用是将输出特征的通道数调整为64。
多尺度特征经过通道注意力模块过滤,重新计算调整权重,加上局部残差得到多特征提取单元的最终输出。通道注意力模块包含全局平均池化层,代表激励操作的两层卷积和ReLU 激活函数以及Sigmoid 激活层。每个二维的特征图经全局平均池化转换为单个实数,每一个实数可以代表其对应的特征通道的全局信息。将所有实数向量化,由此得到1×1×C 的实数列,即特征通道描述符。使用大小为1×1 的卷积核提取跨通道的交互信息,第一层卷积作用是降维,降维压缩比例为16。经ReLU 激活后再用大小为1×1 的卷积核进行升维,还原至原始特征维度。使用Sigmoid(·)函数将卷积学习到的通道相关权重归一化,分别与对应的特征通道相乘,得到加权校正后的特征通道。再通过跳跃连接引入前一单元的输出,得到多尺度特征提取单元的最终输出。设第n个多尺度特征提取单元的输出为Mn,则输出结果可以表达为:
其中 ⊗表示元素对应位置相乘,Pool(·)代表全局平均池化(Global Average Pooling, GAP)。C(·)代表两个卷积核大小为1×1 的卷积层和卷积层之间的ReLU 激活函数。
残差分支包含两个分支。第一个分支直接将ILR上采样重建输入到网络后端,第二个分支由两个卷积层组构成,输入F0经过第一组卷积得到F1,经过第二组卷积得到F2,作为重建的参考输入到网络的后端。以G1(·)和G2(·)分别代表两组卷积操作,则F1和F2公式如下:
图3 为特征融合重建层结构。若原始输入的放缩因子scale 为s,输入图像大小为H×W×C,在上采样之前通过卷积层将图像通道数目调整为s2C,输入到PixShuffle(s)中可得到大小为sH×sW×C的图像。放大比例为2 的分支PixShuffle(2)的输入通道数为4C,放大比例为3 的分支PixShuffle(3)的输入通道数调整为9C,放大比例为4 的分支第一个PixShuffle(2)的输入通道数为4C,第二个PixShuffle(2)的输入通道数为16C。
图3 特征融合重建层Fig.3 Feature fusion reconstruction layer
3 个分支的特征融合重建层公式如下:
其中Mi(i=1,···,n,n为模块数)是各个多尺度特征提取单元的输出。将浅层特征和各层次特征按通道维度级联,再采用卷积核大小为1×1 进行一次融合卷积,得到的结果再加上残差分支得到的F2。3 条分支结果通过特征融合重建层进行上采样重建。REk(k=1, 2, 3,k为分支序号)代表特征重建层的重建函数,可根据缩放因子自适应选择分支。3 个重建层的输出相加得到最终的重建图像。
选用DIV2K 数据集,训练数据集包含800 张图片。为了增强数据,训练集所有图像裁剪成48×48 的小块,随机进行水平翻转和垂直翻转、放缩因子分别为2, 3, 4,下采样的比例分别为0.5,0.7, 1,旋转角度分别为0°, 90°, 180°, 270°。训练后的模型在4 个国际公共标准测试数据集Set5、Set14、BSD100、Urban100 上进行测试。与其他方法一样,实验结果统一从RGB 转换到YCb-Cr 颜色空间,评价指标只在Y通道上计算。
实验环境操作系统为Windows10,CPU 为i7-8700@3.20 GHz,GPU 为NVIDIA Quadro P4000,使用Pytorch 框架,Cuda 版本为10.2。
网络中多尺度特征提取单元个数为7 个,每个MSFEU 的输出通道数目均为64。综合考虑计算成本与实际效果,MSFEU 三条分支的卷积核都为较小的卷积核,在各分支中使用1×1 的卷积降维,减少参数量,降低计算难度,具体参数如表1所示。所有Fusion 层卷积大小均为1×1,输出通道数均为64。残差分支的参数如图1 所示。
表1 多尺度特征提取单元参数Tab.1 Parameters of the multi-scale feature extraction units
网络中采用边界补零方式保证各层之间的输入输出大小一致, 3×3 的卷积层默认padding=1,1×1 的卷积层默认padding=0。初始学习率为10-4,每200 代衰减一半。mini-batch=16,即每次随机裁剪选取16 组大小为48×48 的LR-HR 子图对作为输入。优化器选用ADAM,β1=0.9,β2=0.999,ε=10-8,梯度裁剪范围为[-0.4, 0.4],损失函数使用Charbonnier 损失[28],公式如下:
其中σ是一个常数,可以保证loss 函数在零点可导且稳定,实验中设置σ=10-3。ISR为网络的重建结果,IHR为参考图像,上标q的取值范围为[1,···,K]代表图像对序号。
客观评价指标选择峰值信噪比(Peak Signal to Noise Ratio,PSNR)和结构相似度(Structural Similarity,SSIM)。其中,SSIM 用于衡量场景中的结构信息失真程度,用PSNR 衡量像素间的误差。两个指标都未考虑到人眼的视觉特性,经常出现指标不理想但视觉效果却很好的情况。因此,选取多种先进算法和本文模型获得的重建图像进行对比,用以展示主观视觉效果。
3.4.1 网络结构消融实验
为了验证多尺度特征提取模块、残差分支和特征融合重建层和通道注意力机制的有效性,分别构建不同的模型进行实验。
为验证多尺度特征提取模块的有效性,将网络中的特征融合重建层去掉,得到模型MSARNFFRL-。使用双三次插值将其放大到目标尺寸的小型数据集训练。将多尺度特征提取模块中的MSFEU 替换为简单3×3 卷积和ReLU 激活层,得到MSARNSC,替换后的多尺度特征提取模块结构如图4(a)所示。将网络中的MSFEU 分别替换为图4 (b)的Inception 块[29](Inception Block, IB)和 图4 (c)的密集块(Dense Block,DB)得到MSARNIB和MSARNDB。
图4 用于比较的模块Fig.4 Modules for comparison
验证实验在放大倍数为4 的Set14 数据集上进行,各消融实验模型的PSNR、SSIM 和平均处理时间如表2 所示。
表2 不同模块的有效性验证Tab.2 Validation of different modules
从表2 可以看出以MSARNFFRL-为基准,将网络中的MSFEU 换为简单的3×3 卷积层后的PSNR为27.62 dB,换成密集块的PSNR 为27.67 dB,改为Inception 块后得到的PSNR 为27.78 dB。从结果可以看出,MSARNFFRL-的PSNR 较其余三者分别提升了0.64 dB,0.59 dB 和0.48dB,SSIM 指标也有所提升。其中,MSARNSC由于使用单一尺寸的卷积核,难以检测不同尺度的图像特征,因此,指标最低。密集块的计算复杂度最高,花费时间最多。Inception 块与MSFEU 相比缺少通道间相关性的学习,虽然平均处理时间短,但是指标均低于MSFEU。
通过表2 中MSARNFFRL-和完整模型MSARN的对比也可以验证特征融合重建层的有效性。MSARNFFRL-使用双三次插值对图像上采样后再输入到网络中,完整模型MSARN 使用亚像素卷积在网络后端上采样。使用插值算法上采样会在图像中引入模糊,影响重建质量。而且MSARNFFRL-的输入为放大到目标尺寸的图像,计算量比输入小尺寸LR 图像的完整模型更大,因此平均运行时间更长。
为验证残差分支和MSFEU 中注意力机制的有效性,训练集不进行插值放大处理,保留特征融合重建层,分别训练完整模型MSARN、去掉残差分支的模型MSARNRB-、去掉MSFEU 中通道注意力的模型MSARNCA-。在放缩因子为4 的Set14测试集上验证PSNR 和SSIM,指标对比如表3所示。
表3 残差分支与通道注意力有效性验证Tab.3 Validation of residual branch and channel attention
通道注意力模块对不同特征通道进行筛选,抑制关联性弱的无关通道,强化与特征相关的通道。与去掉通道注意力的MSARNCA-相比,完整网络模型的PSNR 和SSIM 分别提高了0.29 dB和0.003 9,上述结果可以证明通道注意力模块的有效性。同时从结果可以看出完整模型MSARN的PSNR 和SSIM 指标均高于MSARNRB-,PSNR提高了0.25%,SSIM 提高了0.49%,由此证明多支路的残差学习更有利于结构信息的重建和保持。
为验证Charbonnier 损失的有效性,分别使用Charbonnier 损失和L2 损失在小型训练集上迭代100 代,在Set5 和Set14 数据集上进行测试。不同损失函数训练的MSARN 模型PSNR 值如表4 所示,可以看出使用Charbonnier 损失训练的模型PSNR 值更高。
表4 不同损失函数的PSNR 比较Tab.4 PSNR comparison of different loss functions
3.4.2 客观定量分析
将本文模型与其他先进方法做对比,PSNR与SSIM 如表5 所示。粗体标注为最优值,下划线标注为次优值。对比方法包括:Bicubic[14]、SRCNN[17]、VDSR[19]、DRRN[20]、IDN[30]、MSRN[25]、PAN[26]和EFDN[27],其中EFDN 模型未提供放大倍数为3 的训练模型。由表5 数据可以看出,本文的网络模型的大部分客观评价指标均较原始方法有所提升。由表5 可知,在放大比例为4 的BSD100数据集上与2018 年ECCV上发表的MSRN 相比,本文模型的PSNR 和SSIM分别提升0.18 dB 和0.013 7,在其他放大比例上的评价指标也更高;与2020 年在ECCV 提出的PAN 模型相比,放大比例为3 时在纹理结构细节较多的Urban100 数据集上,PSNR 平均提升0.28 dB,SSIM 平均提升0.009 6;与2022 年发表在NTIRE 上的最新算法EFDN 相比,在放大4 倍的Urban100 数据集上PSNR 和SSIM 平均提升了0.21 dB 和0.005 1。指标提升充分说明本文的MSARN 模型可以有效提高重建性能。
表5 不同超分辨率模型重建PSNR/SSIM 比较Tab.5 PSNR/SSIM comparison of different super-resolution models
3.4.3 主观视觉效果对比
为了更直观地展示MSARN 的视觉效果,对比算法选用Bicubic[14]、SRCNN[17]、VDSR[19]、DRRN[20]、RCAN[24]、IDN[30]、MSRN[25]、PAN[26]和EFDN[27]。图5~图7 是各算法重建图像的对比图。
图5 Set14 数据集中“zebra”3×的视觉效果图Fig.5 Comparison of the results of "zebra" 3× in the Set14 dataset
图5 为Set14 数据集中 “Zebra”放大3 倍的重建视觉效果对比。SRCNN、VDSR 和DRRN都是使用双三次插值进行前置上采样的模型,重建图像细节上伪影较多。IDN 使用反卷积进行上采样,最终结果也引入了双三次插值的图像,视觉效果也不佳。RCAN、MSRN、PAN 重建图像的右上角比较模糊,而MSARN 重建图像的斑马条纹更清晰,更接近参考图像。
图6 和图7 分别为B100 数据集中的“148026”和Urban100 数据集中的“img012”放大4 倍的重建效果对比。可以直观地看出图6 中本文重建图像斜纹较少,图7 中本文结果的大楼外侧条纹和窗户没有出现变形,准确重建出了较直且清晰的线条形状。与其他算法相比MSARN 的重建图像与原图相似度更大,轮廓更清晰。
图6 B100 数据集中“148 026”放大倍数为4×的结果对比Fig.6 Comparison of the results of "148 026" 4× in the B100 dataset
图7 Urban100 数据集中“img012”放大倍数4×的结果对比Fig.7 Comparison of the results of "img012" 4× in the Urban100 dataset
以上实验结果表明,MSARN 达到了提升重建效果的目的,能更清晰准确地重建出细腻的细节纹理,重建结果还原度更高。
3.4.4 参数量分析
图8 为各个算法在放缩因子为4 的Set5 数据集上的性能与参数量的对比结果。参与比较的模 型 有:SRCNN[17]、VDSR[19]、DRRN[20]、IDN[30]、MSRN[25]、PAN[26]和EFDN[27]。由图8 可以看出本文提出的模型参数量仅有的MSRN 的一半,而PSNR 值提高了1.4%,综合权衡参数量和性能,本文网络模型结果也是优于其他模型的。
图8 不同模型在Set5(×4)上的PSNR 以及参数量Fig.8 PSNR and parameters of different models on the Set5(×4) dataset
本文针对单幅图像超分辨率重建问题提出了多尺度特征提取和通道注意力结合的超分辨率模型MSARN。模型使用多个分支提取了图像的多尺度特征,使用通道注意力为各个特征通道赋予不同权重,过滤了冗余信息,加强了高频信息的流通。此外,模型中引入了特征融合和全局特征融合,提升了模型的特征学习能力和适用性。实验结果显示本文的网络结构在Set5 数据集上4 倍重建结果的PSNR 指标提升了0.39 dB,SSIM 指标提升至0.899 2,重建图像细节更接近真实图像,主观视觉效果更好。参数量比MSRN模型减少一半,却获得了更优质的重建结果。未来工作主要分为两个方向:一是将网络结构进一步轻量化,精简网络结构,加快训练速度,提升重建算法的性能;二是将网络模型扩展到其他领域的图像超分辨率重建任务中,如深度图像的超分辨率重建,使模型学习尺度特征之外的其他特征。