APP下载

用于单图像超分辨率的多反馈稀疏网络

2023-06-09韩孝朋杨晓敏雷纯庭

现代计算机 2023年6期
关键词:频道注意力卷积

韩孝朋,杨晓敏,雷纯庭

(四川大学电子信息学院,成都 610065)

0 引言

单图像超分辨率(SISR),作用是基于低分辨率图像(LR)重建出对应的高分辨率图像(HR),近些年来由于卷积神经网络(CNN)的成功应用而得到了广泛的发展。然而,SISR 存在缺点,即对于一个LR 图像来说,存在多个与之对应的HR图像。所以,为了得到更接近真实的结果,与CNN相关的结构和模块设计层出不穷,比如:残差结构(residual structure)[1]、密集连接(dense connection)[2⁃3]、非局部(non⁃local)[4]、递归(recurrent)[4⁃7]、注意力机制(attention)[8⁃9]和生成对抗网络(GAN)[1]等。

递归机制,旨在保证模型参数量稳定的情况下,提高网络的效果。它通常是通过反复输入同一个可迭代块来实现的。一些最近应用了递归机制的研究已经验证了它的效果。在文献[4]中,网络的框架由可迭代的自样本挖掘块构成(self⁃exemplars mining),并且保存每次迭代的结果用于最后输出的重建。由于使用了递归机制,该网络在实现了较好结果的同时保持了不大的参数量。对于反馈机制,它发源于人类的视觉系统[10],同样被引入到CNN 中来探索其在超分辨率领域的表现。通常来讲,反馈机制可以通过将网络后端的特征反馈到网络前端来实现。最近的研究,如DBPN[11],通过一种交替放大缩小的结构将HR 域的特征反馈回LR 域中,从而增强输入。最后,递归和反馈机制可以相结合。不难发现,反馈操作可以通过借助递归机制来轻易实现。文献[7]通过将一个反馈模块放置在网络,去反复将高级表示反馈回去,增强下次重建过程。

然而,现阶段对于递归和反馈机制的应用有所限制,递归操作通常应用于整个网络或其中的一个模块,每次反馈特征的数量也是受限的。基于上述情况,本文提出一种多递归反馈机制(multi⁃feedback recurrent mechanism)。也就是说,不同于此前的网络仅有一个基本模块进行递归,本文所提的网络中每个模块都具有递归模式,且每次都将输出特征反馈回去。与此同时,基本模块内部的每一块也会在每次迭代中将结果反馈回对应的位置上。这使得最终基本模块的每一次迭代都会有多个反馈分支。简要过程如图1 所示。通过使用多反馈递归机制,本文网络实现了更频繁的信息反馈,从而可以充分使用高级特征来增强低级特征。

图1 不同递归反馈形式的比较

注意力机制同样发源于人类视觉系统,也被广泛应用在多种计算机视觉任务并且展现了出色的效果。它旨在将注意力转移至图片中的关键区域,并且忽略不相关的区域。在SR 任务当中,注意力机制常通过可学习的权重的方式来动态地作用于关键特征。例如,文献[8]中,频道注意力机制通过生成等同于频道数量的权重来重塑频道层面的特征。文献[12]提出了一种稀疏度的理念来修剪冗余计算。它的作用方式类似于注意力机制,区别是这里的稀疏度被加入到损失函数中来使权重值尽量小。

本文也引入了稀疏度思想,得到了频道/空间稀疏模块(见2.2 节)作为网络的基本元素。稀疏度权重被加到稀疏模块的每个残差块中,用来提取并增强关键信息(配合迭代)。在网络中配置多组频道/空间稀疏模块对,并且搭配分组密集连接来促进这些模块间的信息交流。相比于普通的密集连接,本文的分组密集连接能够有效减少分支数量。

基于上述观点,本文提出的网络叫做多反馈稀疏网络(multi⁃feedback sparsity network,MFSN)。整体网络结构如图2所示。该网络的主干包含多组通过分组密集连接相连的频道/空间稀疏模块。在这些稀疏模块中,稀疏权重和多反馈递归机制被统一到一起,以更好地提取并且增强关键特征。

图2 MFSN网络整体结构

整体来说,本文的贡献有以下几点:

(1)探索了更复杂的递归反馈机制,并且提出了多反馈递归机制MFSN。该机制实现了一个更复杂的递归形式。具体而言,其包含多个递归模块,每个都可以迭代多次。因此,该模型得到了一个更频繁的反馈信息流。

(2)MFSN 同样实现了一个更复杂的反馈形式,递归模块内部允许多个反馈分支部署在多个不同位置来反馈不同特征。前次迭代的特征都被反馈到对应位置来增强当前迭代的低维特征。

(3)本文网络应用了稀疏度思想来验证它是否会带来表现增益。频道/空间两种稀疏方式被配置于两种模块中。即使在与注意力机制相比较的情况下它仍能带来表现增益。最后,将稀疏度与多反馈递归机制结合于同一模块当中,使得反馈的特征被稀疏系数所增强。

1 本文方法

1.1 整体网络结构

图2所示为MFSN 的整体结构,模块上的加粗箭头表示该模块是可迭代的,从图2 可看出,网络共分为3个部分:初始特征提取、递归反馈稀疏特征提取(RFSFE)以及最后的重建模块。和其他方法相同,我们也将ILR和ISR作为网络的输入和输出。首先,在浅层特征提取部分,使用两个卷积层搭配ReLU激活函数。即:

函数FIF代表两个卷积层,fIF是得到的初始特征。RFSFE 部分整体上是残差形式。文献[9]提出的区域非局部模块(Region⁃Level Non⁃Local module,RL-NL)被放置在该部分的两端,来对特征表示进行非局部增强。然后我们在中间部署G对频道及空间稀疏模块(详见下节)。也就是说,该部分包含2×G个稀疏模块和2 个RL-NL 模块。这些模块由分组密集连接相连,频道稀疏模块只与他们自己进行密集连接,空间稀疏模块也如此。因为使用了分组密集连接,我们既实现了整个网络中密集的信息流动,又显著控制了由传统密集连接所带来的分支数量过多的问题。最后,密集特征融合方法[3]使用特征串联和1*1卷积来将所有空间稀疏模块的输出融合起来。这一部分的整体函数表示为

fSF是经过RFSFE 部分得到的稀疏特征,FRFSFE是该部分的函数表示。最终,使用次像素卷积层[13]来放大并重建最终的特征。同样应用了一个全局连接来直接放大ILR并将其送至网络末端。所以通过下式来获得最终的IHR:

其中:FREC表示重建操作;FUP表示插值上采样操作。

1.2 稀疏模块

空间和频道稀疏模块具有统一的结构。我们首先详细描述空间稀疏模块,从而引出他们共同的结构。随后,再简单介绍频道稀疏模块与其的不同之处。

1.2.1 空间稀疏模块

在空间稀疏模块内,我们放置了N个稀疏残差块(sparse residual blocks,SRBs),如图3 所示,虚线框内的区域是稀疏残差块。在经过SRB 前,输入x0先经过一个空间矩阵生成块来生成空间权重矩阵。对于空间矩阵生成块,我们直接使用文献[12]中提到的稀疏掩模生成模块搭配Gumbel Softmax[14]来实现。随后,将得到的空间权重矩阵应用于所有的SRB 块中。其被使用的位置如图3 所示。x0会依次经过各个SRB块,第m个SRB块的操作可被表示为

图3 空间稀疏模块的结构

hm表示该稀疏模块内的第m个SRB 块,所以有:

每个SRB 块的输出都被保存下来,用于重建该模块的最终输出。这是通过该模块末尾的特征串联和1*1卷积层来实现的。同样在该模块的末尾使用了文献[8]中的频道注意力层。最后,可以得到该模块的最终输出:

这里concat 表示特征x1到xn的串联操作;conv1*1表示1*1卷积层;ca表示频道注意力层。

1.2.2 频道稀疏模块

空间和频道稀疏模块的区别主要在于获得稀疏权重矩阵的方式。所以,频道稀疏模块基本与上述所说相同,其改为使用频道矩阵生成模块替代空间矩阵生成模块。频道权重矩阵通过增加辅助参数来生成,并且它可以产生等同于SRB块数的频道权重矩阵数。这里值得一提的是,空间/频道权重矩阵内的值都在(0,1)范围内,如果将其直接作用于SRB块内,会导致一定程度上的信息丢失。所以在权重矩阵被加到SRB前,会加上一个增强参数(α=0.5)。因此,这些权重矩阵内的值变为(0.5,1)范围内,并最终实现强调关键区域/频道,削弱其他区域/频道。

1.3 多反馈递归机制

本文所提出的网络中每一个稀疏模块都具有基本的递归反馈机制。空间稀疏模块每次迭代接收和发送反馈特征的位置和处理方式(特征相加或是串联)见图4,图中加粗的实线箭头表示反馈到下次迭代的特征,加粗的虚线箭头表示接收的上次反馈回来的特征。同时,为了更好地揭示每次迭代中反馈特征的流向,我们在图5中展示了迭代的时间展开图,虚线代表反馈特征。

图4 每次迭代接收和反馈特征的执行情况

图5 迭代过程的时间展开

可以看到,稀疏模块的输出被反馈回下一次迭代,并且经由串联和1*1卷积层与最初的输入相融合。注意首次迭代时输入不用经过1*1卷积。另外,每个SRB 块内经过稀疏矩阵处理后的残差特征也被反馈回该块下次迭代的输入处与原输入相加。这样一来,每个SRB 块反馈的特征都是经过稀疏权重处理后更重要的特征。所以,将它们反馈回去会增加下次迭代中重要信息的比例。

每次迭代中,稀疏模块的输入都对应着该模块的原始输入。因为使用了分组密集连接,我们需要将额外的1*1卷积层部署在模块前来混和原始特征和反馈特征得到该次输入。

1.4 损失函数

本文使用L1 损失来优化网络。除此之外,还用类似SMSR[12]的方式通过空间/频道权重矩阵生成了总的稀疏度系数。它可以被视为该网络中所有稀疏度的代表,表示被选中的关键区域的比例。随后,这个稀疏度系数被加到最终的损失函数中,最终的损失函数如下:

LSP是稀疏度系数;λ 表示稀疏损失权重,并且

epoch是训练的轮次;T设置为50;λ0设置为0.1。

2 实验

2.1 实施细节

和大多数网络一样,本文也采用DIV2K[15]的800 张图片作为训练集。5 个基准数据集:Set5[16]、Set14[17]、B100[18]、Urban100[19]、Man⁃ga109[20]用 作 测 试 集。 峰 值 信 噪 比(peak signal⁃to⁃noise ratio,PSNR)和结构相似度(struc⁃ture similarity index,SSIM)用作评价网络表现的指标。

训练阶段对训练数据进行数据增广,即随机旋转90°、180°、270°以及水平翻转。设置批量 大 小(batch size)为16, 输 入 图 片 块 大 小(patch size)为48。 参 数β1= 0.9,β2= 0.99 的ADAM[21]优化器被用作训练。学习率从2×10-4开始且每200轮下降一半。

对于网络结构的设计,我们使空间和频道稀疏模块对G= 5,迭代次数T= 3,每个稀疏模块内的SRB数量N= 4。

2.2 与SMSR的差异

在该网络中,使用的生成空间、频道权重矩阵和稀疏度系数的方法都来自于SMSR。所以,有必要强调本文方法与SMSR 的不同。首先,本文的网络结构与SMSR不同。空间和频道掩模在SMSR中被放到了同一模块当中,而对本文网络来说,它们分属不同的模块。其次,双方处理信息的方式不同。本文网络将稀疏权重矩阵放置在残差块的残差分支上,因此稀疏度作用于残差特征,从而避免了稀疏度小时损失过多信息,而且稀疏权值还统一增加0.5 来避免损失信息与强调有效信息。相比之下,在SMSR中,它是通过对具有不同权重的多个不同分支求和来实现的。最后,也是最重要的一点,本文网络引入稀疏性的目的与SMSR 不同。SMSR的网络结构经过仔细设计使得可以在稀疏度引入损失函数中后,在测试阶段应用稀疏卷积。随着训练过程进行,稀疏度变得越来越低,由于测试阶段稀疏卷积的使用使得无关信息被跳过,即SMSR应用稀疏性的目的是最终可以实现轻量级网络。而对本文网络来说,是探索稀疏度被引入后网络的表现是否会变好,目的在于提升网络的效果。另外,还进行了实验来比较稀疏度和注意力的表现,来证明我们的结论。

2.3 消融实验

本节设计了一些实验来验证本文网络中各种设计的有效性。

2.3.1 稀疏性还是注意力?

不难发现,这里使用的稀疏性思想一定程度上与注意力机制相似。不论是得到稀疏权重矩阵的方法还是它作用到网络的方式,都可以从中看到注意力机制的影子。这两者的主要区别是,稀疏性被引入到损失函数当中并且后续被优化,而注意力机制并不这么做。所以,稀疏性和注意力机制谁会使网络的效果更好?

我们使用了两个网络来比较稀疏性和注意力的效果,其一为MFSN(sparsity),是迭代次数T= 2的MFSN网络。另一个为MFSN(attention),与前者相同,区别是它只用L1 损失函数而不包含稀疏项。这意味着对后者来说,稀疏性就成为了一种注意力机制。分别在三个尺度下训练这两个网络, 并在表1 中展示了实验结果,PSNR 和SSIM 结果来自于Set5 数据集。我们可以看到,大部分情况下,MFSN(sparsity)的表现都要好于MFSN(attention)。MFSN(sparsity)的稀疏度在训练前期迅速下降,随后趋于稳定。然而对MFSN 来说,稀疏度下降很慢。这验证了二者的区别。随着训练过程进行,MFSN(sparsity)的PSNR值同样比MFSN(attention)更高。

表1 MFSN(sparsity)和MFSN(attention)的比较

2.3.2 迭代次数设置

此处讨论迭代次数对整个网络效果的影响。本次实验基于x4尺度。使用的是MFSN(sparsity)网络。迭代次数T设置为1~4。结果见表2。

表2 迭代次数T设置为1~4的MFSN(sparsity)在5个基准数据集上的结果

从表2可以看到,网络的表现会随着迭代次数增加而提升。因此最好的效果出现在T= 4时。图6展示了视觉效果比较,‘1iter’表示T= 1,以此类推。可以看到,随着T的增长,所复原的特征更真实,尤其是那些重复出现的特征,这验证了该网络递归机制的效果。

图6 不同迭代次数T的网络结果的视觉比较

然而还有另一种现象,就是随着T的增加,网络的训练和测试时间同样也随之增加。表3展示了迭代次数T所对应的训练和测试时间。可以看到训练测试时间明显随T增加而增加。综合考虑时间及效果因素,我们决定设置网络的迭代次数T= 3。

表3 网络训练和测试所用时间

2.3.3 多反馈的形式

如上文所述,本文网络中的每个稀疏模块都有一个基本的多反馈形式。所以,如何设计多反馈形式非常关键。比如说,配置多少反馈分支,在哪配置等。本文使用另一个网络来探索哪种反馈形式效果更好。一个是默认网络(T= 2,G= 5,N= 4),反馈分支位置如2.3 节所示, 即总分支数为5, 我们称它为MFSN(5fbk)。对于另一个网络,我们移除稀疏模块中一半的反馈分支。也就是说,对于一个N= 4的网络,我们移除第一个和第三个反馈分支,保留第二个和第四个,即每个稀疏模块内反馈分支的总和是三个,称为MFSN(3 fbk)。两个网络的比较见表4。

表4 不同反馈形式的两个网络的效果比较

2.3.4 增强参数的设置

对于加到稀疏权重矩阵上的增强参数(α),本文比较4 种不同的α设置方法,分别是:α= 0、α= 0.5、α= 1 -τ、α=τ- 0.4。 参数τ是Gum⁃bel Softmax中的参数,并且会随着训练过程进行而减小。具体来说,它会在前300 轮从1 降到0.4,随后保持不变。所以,这几种情况囊括无α、不变的α、递增的α和递减的α。结果见表5,可见最好的结果是α= 0.5的情况。

表5 不同增强参数(α)设置下的网络效果比较

2.4 实验结果

最终本文用作比较的是参数设置为T= 3,G= 5,N= 4的MFSN(sparsity)网络,它包含完整的多反馈形式,即稀疏模块内的每个SRB 块都具有一个反馈分支。将该网络与其他网络,包 括DRRN[6], IDN[22], VDSR[23], IMDN[24], Lap ⁃SRN[25], SMSR[12], DSRN[26], CARN[27], DRCN[5],RED30[28], DBPN[11], EDSR[29], RDN[3], RCAN[8]进行比较。比较基于5 个基准数据集上x2、x3、x4三个尺度的PSNR/SSIM 结果。并且,这些模型基于其模型大小被分为两组,一组是参数量少于5百万(5 M)的模型,大于5百万(5 M)的属于另一组。本文网络主要与模型大小相近的模型进行比较。表6展示了网络比较的最终结果,下划线表示在参数量大的模型中,效果比MFSN差的情况。可以看到,MFSN 在相似大小的网络结构当中展现了较好的结果。并且,值得一提的是,当与参数量更多的模型相比时,即使大多数情况下本模型的表现不令人满意,但仍存在一些超过它们的情况。

表6 各网络在基准数据集下的比较结果

图7展示了x4尺度结果的视觉比较,可以发现这些图中都包含类似线条的重复特征。对于本文算法的指标比其他方法高的情况,说明本文模型擅长处理有重复特征的区域。甚至在许多情况下,即使本文算法指标没有其他方法高,该网络仍得到了更合理的结果。

图7 MFSN与一些网络在X4尺度下的视觉效果比较

图8展示此类情况,图中所有的图片块都得到了更真实的结果,在第一、三、四幅图中,本文算法更合理地复原了线条,而第二幅图中,我们复原了其他方法没复原的特征。

图8 MFSN与一些网络在X4尺度下的视觉效果比较

总而言之,即使本文方法没有得到很出色的指标,但网络仍可以很好地复原很多特殊区域。同样证明了稀疏度和多反馈思想可以带来表现增益,并且这两个观点是高度可移植的,即它们可以被很好地应用于其他模型。这是本研究的主要贡献。

3 结语

本文提出了多反馈稀疏网络(MFSN)来处理图像超分辨率问题。首先,设计了稀疏模块作为网络的主要元素。通过稀疏模块中稀疏权重矩阵的使用,使得空间和频道特征得以增强。其次,提出的多反馈递归机制使每个稀疏模块执行多次反馈,并且每次返回多个稀疏特征。这充分使用了反馈机制来实现信息反馈和特征增强。其他方法如分组密集连接和增强参数都给网络带来了增益。最终,经验证本网络在相似网络尺寸的模型中取得了有竞争力的结果。

猜你喜欢

频道注意力卷积
让注意力“飞”回来
基于3D-Winograd的快速卷积算法设计及FPGA实现
从滤波器理解卷积
4K频道开播,你准备好了吗
基于傅里叶域卷积表示的目标跟踪算法
“扬眼”APP:让注意力“变现”
寒假快乐频道
A Beautiful Way Of Looking At Things
频道
一种基于卷积神经网络的性别识别方法