基于多层次特征提取的轻量级超分辨率重建算法*
2022-05-25竺可沁,林珊玲,林志贤,3,郭太良
竺 可 沁,林 珊 玲,林 志 贤,3,郭 太 良
(1.福州大学 物理与信息工程学院,福建 福州 350116;2.中国福建光电信息科学与技术创新实验室,福建 福州 350116;3.福州大学 先进制造学院,福建 泉州 362200)
0 引言
随着信息技术的飞速发展与应用,图像处理技术已经成为信息时代的关键核心技术之一。数字图像在医学、监控、遥感等领域得到了广泛的应用,人们对图像质量的要求也越来越高。但是由于照片成像质量以及保存条件的限制,使得图像往往会丢失很多细节且分辨率较低,不利于后续对图像信息的进一步处理。图像超分辨率重建(Super Resolution,SR)技术可以将一幅低分辨率(Low Resolution,LR)图像重建为高分辨率(High Resolution,HR)图像。由于其在成本、便利性等方面的显著优势,已经成为了数字图像处理技术的主要研究内容之一[1-2]。
近年来,基于深度学习的超分辨率方法研究逐渐深入。基于深度学习的算法最早由Dong等[3]提出,他们通过将卷积神经网络与图像超分辨率任务相结合,提出了SRCNN(Convolutional Network for Image Super Resolution)算法。其设计有三个卷积层,经过训练后,性能极大地超越了传统的超分辨率算法。随后,Dong等[4]又在其基础上提出了FSRCNN算法,其利用反卷积模块将图像重建为目标尺寸,降低了算法的计算量。Kim等[5]提出的VDSR则通过加深网络深度来提升重建质量,通过引入残差网络得到了很好的结果。随后,Kim等[6]还在VDSR的基础上设计了DRCN(Deeply Recursive Convolutional Network),将输出的特征做递归学习,并使用残差结构连接其输出特征,取得了优于VDSR的重建效果。Ahn等人[7]则提出了基于级联神经网络和共享机制的轻量超分辨率重建算法CARN(Cascading Residual Network),设计了一种基于分组卷积的高效残差网络,在特征提取时能有效地降低参数量,但是网络的整体参数量仍较大。
随着算法性能的提高,其结构日趋复杂化,神经网络的深度不断增加,网络模型中的庞大参数为其部署带来了较大困难[8]。随着今天移动设备的不断进化,人们对边缘侧的人工智能需求越来越多,这就需要一种轻量化的基于神经网络的超分辨率算法来解决这个问题。
目前基于深度学习的超分辨率算法主要包括特征提取模块(深层,浅层)、上采样及重建模块[9]。在这些模块中,特征提取起到了较为关键的作用,其保证了算法能从原始图片中提取出有价值的重建信息。目前算法的问题点主要在于提取的特征比较单一[10-11],主流方法例如SRCNN、VDSR等,都只提取单一尺度的特征,改进时一般只能加深网络[12],这导致了算法普遍参数量庞大,难以适应移动设备的要求,在轻量化方面还有较大的提升空间。
也有一些学者提出过提取多个特征的网络[13],但是由于没有对应完善的特征融合模块,很多网络无法完全利用提取出来的图像特征信息,从而影响重建的效果。
针对这些问题,本文使用了多层次特征提取的方法来提取原始LR图像的多层次信息,并设计了多尺度重构模块来重建图像,相比其他基于深度学习的算法具备轻量级的优势,在保持性能的前提下,具有较少的计算量。
1 算法介绍
本文提出的基于多层次特征提取的轻量超分辨率重建算法(Multi-level Feature Extract Super Resolution,MFESR)整体结构如图1所示。其中包含:浅层特征提取模块(Low Feature Extract Block,LFEB)、可以提取多尺度特征的深度特征提取模块(Deep Feature Extract Block,DFEB)以及多尺度重建模块(Multi-level Reconstruct Block,MLRB)。 其 中,LFEB为轻量级设计,在较少的计算量下完成浅层特征提取。DFEB为本文核心部分,其提取的图像深层次特征包含了更多可用于图像重建的信息。MLRB负责融合多层次图像特征并输出HR图像。损失函数则在网络训练时将HR图像与标准图像对比,完成网络的训练。
图1 MFESR算法的主要流程
图2所示为算法的详细结构图。首先,该算法对输入的LR图片做浅层次的特征提取,然后通过DFEB模块做深层次的特征提取。DFEB模块包含三个子模块MFEB(Multi-feature Extract Block)。每个MFEB模块前后相连,并与多尺度重建模块跳跃连接。其可以提取图像的深层次特征信息。图中右侧为多尺度重建模块,其负责融合提取出的浅层次和深层次特征图,并带有每个层次特征的权重,通过学习训练,将图像放大到目标倍数并恢复图像的三通道。几个模块之间还采用跳跃连接来更高效地传递信息。
图2 MFESR算法的具体结构
1.1 浅层特征提取模块
卷积特征图具有层次性。不同层次的特征图体现了图像的不同尺度信息。如浅层特征图通常包括一些边、角等信息,而深层特征图则体现了一部分或完整的物体信息。如图3所示,本文设计的LFEB模块通过两个并行的卷积操作对输入的三通道图像做特征提取。其卷积核尺寸分别为3×3、5×5。提 取出的两个特征图通道数为24。随后,将两通道合并,利用一个1×1尺寸的卷积核来融合其浅层的多尺度特征信息,最终输出通道数为48的浅层特征FL。在设计轻量级网络时,卷积核尺寸为1×1的卷积操作对于通道的升维和降维起着比较重要的作用,这里通过1×1卷积降维可以降低网络运算量。整个浅层特征的提取可以用式(1)表示,其中Fn×n表示卷积核大小为n×n的卷积操作。
图3 浅层特征提取模块
1.2 深层特征提取模块
深层特征描述了图像的整体结构,其包含的高级语义信息对于高质量的图像重建至关重要。本文深层特征提取模块由三个MFEB模块级联而成。每个MFEB模块通过跳跃连接的方式连接到后续的特征融合上采样模块。MFEB模块的详细结构如图4所示。其包含三个并行的支路,分别用不同尺寸的卷积核对输入特征做卷积,通过采用空洞卷积的形式可以在不增加额外参数量的基础上扩大卷积的感受野。随后,将卷积结果拼接得到一组多通道的特征,然后再对这个多通道特征做卷积核尺寸为1×1的卷积,得到输出特征并向后一级模块输送。使用1×1的卷积核可以在少量增加参数的情况下增强通道之间的交互性。MFEB结构在设计时考虑到网络的轻量化需求,将并行卷积通道数设置为3,能在性能与轻量化之间达到平衡。
图4 深层特征提取模块中的MFEB模块
1.3 多尺度特征融合重建模块
早期的网络结构一般采用对原始输入图像上采样得到大尺度的图像后再输入网络的方法,如SRCNN、VDSR等,这会使得算法的计算量随着输入图像的尺度增大而急剧增大。上采样模块的出现则可以避免这些问题,其性能的好坏会直接影响超分辨网络的性能。此外,影响重建质量的还有特征融合。特征融合关注的是不同特征之间的相关性,高质量特征融合可以更充分地利用提取出来的图像特征信息。其公式如下:
其中xn表示第n个卷积层的输入,x¯n表示第n个卷积层的输出,Fn表示卷积及非线性变换,Fconv表示通道合并操作。
本文设计的上采样及重建模块MLRB如图5所示。由于算法利用不同尺度的空洞卷积来从深层特征提取模块中提取不同尺度的高级语义信息,为能够充分利用这些信息,本文设计了一种多尺度重建模块,可以将提取到的多尺度信息进行融合。考虑到多尺度融合操作的引入会增加额外的计算量,重建模块仅选用4个不同尺度的特征信息进行融合。卷积核尺寸分别为1×1、3×3、5×5、7×7。此外,还为每个分支设计了一个可学习的权重值αn,使得网络在训练过程中可以自适应地选择相对重要的分支,从而在图像重建过程中获得更好的性能。重建模块流程可以用式(4)来表示:
图5 多尺度特征融合重建模块
1.4 损失函数
网络训练采用的损失函数为L1损失函数,其中,h、w、c分别表示图像的高度、宽度和通道数,IGT和IHR分别为原始图像和超分辨率网络的输出,着是一个误差常量,一般设置为0.001。
2 实验分析
2.1 实验设置与评价指标
在网络训练阶段,本文主要使用DIV2K数据集[14],这是一个用于图像超分辨率任务的高质量数据集。数据集共包含了800张图像(2K分辨率),此外为了提高数据集的多样性,还进一步使用了部分Flickr2K数据集的高分辨率图像。
为满足训练任务的数据量要求,本文采用如下方式扩充数据集至2000张:
(1)将图片做随机水平翻转和90°旋转;
(2)对图片进行不同尺度的缩放和剪裁;
(3)对图片进行亮度增强和对比度增强。
本文训练及测试的平台配置如下:CPU为6×Intel®Xeon®CPU E5-2678 v3@2.50 GHz;GPU为NVIDIA GeForce Titan V;操作系统为Ubuntu18.3;神经网络框架选用PyTorch。
网络训练时采用Adam优化器。训练时其参数设置选取策略如下:(1)批处理大小(Batch Size)设置为8,保证了能多样化地生成样本;(2)学习率设置为0.0001,之后每隔4000次迭代降低为之前的一半;(3)设置优化器中β1=0.99,β2=0.999;(4)图像的放大倍数为4倍。
为客观评价算法的增强效果和网络性能,本文使用峰值信噪比(PSNR)和结构相似性(SSIM)两种指标来客观地评价重建图像的质量。
PSNR可用来衡量图像的失真与噪声水平。一般而言,PSNR值越大,则重建图像的效果越好,包含的噪声水平越低。PSNR的计算公式如下:
式中,H×W表示图像的大小,X表示原始高分辨率图像,Y表示通过算法重建图像。
SSIM是用于度量两幅图像结构相似程度的指标,其将图像失真表示为亮度、对比度和图像结构这三个不同指标的组合。SSIM的数值范围为[0,1],其数值越大,则说明两幅图像之间的相似性越高,重建图像质量越好。SSIM的计算公式如下:
式中,x表示原始的高分辨率图像;y表示重建的超分辨图像;μx、μy分别表示两幅图像的灰度平均值;σx、σy分 别 表 示 两 幅 图 像 的 方 差;σxy是 两 幅 图 像 的协方差;C1、C2是2个常数。
2.2 实验结果分析
在测试阶段,本文引入其他的超分辨率重建算法作为比较:(1)传统双三次插值算法(Bicubic);(2)VDSR;(3)基于拉普拉斯金字塔结构的网络Lap-SRN[15];(4)DRCN;(5)EDSR[16]。 如图6、图7为几种算法之间的结果对比。其中LR为降采样得到的低分辨率图像,GT为原始图像。
图6 几种算法对BSD100数据集中图片的重建细节对比
图7 几种算法对Urban100数据集中图片的重建细节对比
对比各类算法重建图像的目视效果,双三次插值方法重建的图片较为模糊,具体表现为图像细节较少,边缘过渡平滑。与双三次插值图像相比,VDSR生成的图像有较大的改观,其细节更为丰富。而EDSR与之相比则能在保证细节的情况下生成更为清晰的图像。LapSRN生成的图像较为平滑,涂抹感较重。DRCN则在物体的边缘处更为锐利,有着较为丰富的高频细节。与上述算法相比,本文算法能生成更多的细节,尤其在人像头发、物体线条等包含多层次场景的图像中,在物体边缘处也有较为锐利的重建效果,这使得整体的视觉效果更为真实。
本文通过PSNR与SSIM这两种指标来评价重建图像的质量,算法对比结果如表1所示。
从表1可以看出,基于深度学习的算法均获得了高于传统插值算法的PSNR、SSIM值。在一些图像细节比较丰富的情况下,DRCN和VDSR等带有深层卷积的算法能获得更好的客观指标,但是观感较为模糊。本文提出的MFESR则兼顾了生成细节的真实性和锐利清晰的观感。从PSNR和SSIM的平均值来看,本文算法大幅领先于传统双三次插值法,且在大多数情况下领先VDSR、DRCN、EDSR等算法。这证明了本文的超分辨率算法能生成更为优秀的重建图像,且能适应较多的场景。
表1 六种超分辨率算法的结果比较
实验还对比了几种算法的参数量与运行时间等指标,结果如表2所示。可以看出本文的算法在运算量上具有一定的优势,其参数量较DRCN、VDSR等网络较深的算法少了很多。与CARN-M等算法相比,计算效率也有所提高,运行时间更短,验证了算法的轻量化特性。
表2 算法复杂度对比
2.3 消融实验
为验证MFESR各结构的性能,分别移除网络中的各部分设计,在BSD100数据集上进行消融实验。
对应的结构修改有:(1)去除多层次特征提取模块,将浅层特征提取与深层特征提取合并,形成类似VDSR的结构,称其为MFESR-B,其余参数与原算法相同;(2)去除多尺度融合重建模块中的多尺度融合部分,采用普通的上采样重建方式,称其为MFESR-C。
表3为消融实验的客观参数对比。从BSD100数据集的平均值PSNR和SSIM的数值来看,MFESR-B相比MFESR低了0.397 dB和0.018,验证了多层次特征提取模块的有效性。MFESR-C相比MFESR低了0.962 dB和0.049,验证了多尺度特征融合重建模块可以充分利用提取到的图像特征信息。
表3 消融实验结果对比
3 结论
目前的超分辨率算法存在特征提取单一、计算量较大等问题,为此,本文提出了一种基于多层次特征提取的轻量化超分辨率算法。通过设计浅层特征提取模块和深层特征提取模块来实现图像的多层次特征提取。设计了一种带学习权重的多层次特征融合重建模块,可以充分利用提取出的特征信息。从实验结果来看,通过MFESR重建得到的图像拥有更好的低频内容、锐利边缘和高频纹理,在PSNR和SSIM等指标上也领先其他算法。在网络的轻量化方面,本文算法也能拥有较少的参数量和较快的运算时间。消融实验的结果验证了模型结构设计的有效性和合理性。在后续的研究中,将继续对MFESR网络的参数量进行优化,提升算法的处理效率,并且将扩大算法在真实图像重建领域的应用。