多分支图像去噪算法研究

2023-12-27 14:53李文海吴子豪孙鑫杰
计算机工程与应用 2023年24期
关键词:高斯灰度卷积

耿 俊,李文海,吴子豪,孙鑫杰

新疆大学 软件学院,乌鲁木齐 830091

图像去噪是计算机视觉中一个非常经典的问题,其目的是从噪声图像中恢复出一幅清晰的图像。由于图像去噪技术能够很好地恢复原始图像,因此它们被广泛应用于许多领域,如遥感图像[1]和医学图像[2]。对于噪声图像y,图像去噪问题可以用y=x+v来表示,其中x是原始图像,而v代表标准偏差σ的加性高斯噪声(AWGN)。从贝叶斯规则的角度来看,基于图像先验的方法是图像去噪的很好选择。例如,块匹配和三维过滤(BM3D)利用协同变换来增强图像去噪的稀疏性[3]。同时使用基于字典学习的稀疏表示和基于自相似性的非局部平均可以有效去除噪声[4]。非局部集中稀疏表示(NCSR)集中了稀疏编码,以抑制稀疏编码噪声[5]。加权核范数最小化(WNNM)[6]、马尔可夫随机场(MRF)[7]也是非常流行的图像去噪方法。尽管上述方法在图像去噪领域有了非常优秀的效果,但大多数方法都面临两大挑战:(1)人工调整惩罚参数,以及(2)复杂的优化算法。然而随着CNN 的提出,就在图像领域引起轰动并且也在图像去噪方面广泛应用[8]。例如,残差和迭代思想被引入到CNN 中,有效提高图像超分重建的性能[9]。优化方法和CNN的结合是图像超分重建的非常流行的方法[10]。增加网络的多样性对于图像恢复也是非常有效的[11]。具有先验知识的CNN可以更好地处理真实的含噪图像[12]。优化网络结构的方式在图像恢复中同样也很受欢迎[13]。

尽管上述深度网络方法可以提高去噪性能,但大多数方法都存在单分支网络模型特征提取不充分、边缘特征提取不足且性能饱和问题(即梯度消失或爆炸)[14]。本文提出了基于深度学习的多分支网络模型(MBNet)的设计。首先,受Deeplabv3+[15]中ASPP 结构的启发,MBNet引入三条分支作为子网络,第一子网络由普通卷积组成,第二子网络由普通卷积和扩张率相同的空洞卷积组成,第三子网络由各不同扩张率的空洞卷积组成。由于第一、第二子网络在层数方面相同,可构成对比实验。第三子网络对应的感受野与第一、第二子网络模型对应的平均感受野方面接近,也可构成对比实验,既能体现各子网络在相同条件下的性能优劣,也能展现出三子网络结合的性能与单个子网络之间的对比。因此,同时引入这三条子网络是非常有必要的。将这三条子网络结合起来,增加网络的宽度而不是深度,并将其各自子网络提取的特征相融合,从而充分获取图像的特征。其次,为了解决图像边缘特征提取不充分问题,MBNet在第二分支及第三分支引入多个不同扩张率的空洞卷积[16]来增大感受野,提取更多的上下文信息来增强边缘特征的提取,降低了计算代价;最后,MBNet使用了多局部残差学习和整体残差学习(RL)[14]来解决深度CNN网络性能饱和问题。对于在原始图像上添加高斯噪声的图像去噪任务的大量实验表明,所提出的MBNet 优于目前先进的方法,例如去噪卷积神经网络(DnCNN)[17]和图像恢复CNN(IRCNN)[12]等。

1 相关技术

1.1 用于图像去噪的深度卷积神经网络

深度卷积神经网络在图像去噪中非常盛行。例如,17 层的DnCNN 已被提议作为基于CNN 的预测噪声的基准方法。该基准通过堆叠多个卷积层、残差学习和批归一化(BN)来提高去噪性能。CNN和先验知识的结合对于盲去噪是十分有效的[18]。一种带有最优化方法的判别学习方法被用来处理真实的噪声图像[12]。利用多层网络并行来增加网络的宽度,与批量重整化(BRN)和残差学习来增强图像去噪的效果,BRDNet[19]的出现也使得较大的模型也能在普通硬件及显卡上运行且不影响其去噪效果成为可能。DPIR[20]通过训练一个灵活高效的CNN 去噪器设置基准深度去噪先验,将它作为模块插入基于HQS 的迭代算法中,从而可以解决各种图像复原问题。RDDCNN[21]是一种稳健的变形去噪CNN,可以通过可变形的可学习核和堆叠卷积架构来提取更具代表性的噪声特征。TECDNet[22]是一种基于变压器编码器和卷积解码器网络的混合去噪模型,它能以相对较低的计算成本在真实图像上实现了最先进的去齿性能。DudeNet[23]是一个具有稀疏机制的双网络,可以提取互补特征来恢复清晰的图像,可作用在真正的嘈杂图像。

CNN 对于其他应用领域涉及的也非常强大,例如医学图像。前面提到的基于深度网络的CNN方法已经取得了比BM3D更好的性能。受此启发,本文使用深度CNN进行图像去噪。

1.2 批量归一化

在图像预处理过程中通常会对图像进行标准化处理,使得每张输入图片的数据分布能够统均值为u,方差为h的分布,这样能够加速网络的收敛。但是当一张图片输入到神经网络经过卷积计算之后,这个分布就不会满足刚才经过标准化处理操作之后的分布了,可能适应了新的数据分布规律,这时将数据接入激活函数中,很可能一些新的数据会落入激活函数的饱和区,导致神经网络训练的梯度消失。为了解决这个问题,BN[24]应运而生。BN 方法使用归一化操作、尺度和移位操作来解决内部协变量移位问题,不但能加速网络的收敛速度,控制梯度消失以及防止过拟合问题。受此启发,本文使用BN进行归一化操作,原理如下所示。

1.3 修正线性单元

CNN出现初期,一般使用的Sigmoid函数。在其反向传播求误差梯度时,求导涉及除法且是指数级运算,计算量相对大,而采用ReLU激活函数能大幅度降低模型的计算量;对于深层CNN网络,在反向传播时,Sigmoid函数接近饱和区时,导数趋于0,易于出现梯度消失的问题,从而造成边缘信息丢失,使用ReLU 激活函数能有效解决梯度消失问题;并且ReLU会使一部分神经元的输出为负数转变成0,因此造成了网络的稀疏性。基于这个特点,ReLU能有效减少参数的相互依赖关系,因此可以有效缓解过拟合问题。ReLU激活函数公式如下:

1.4 残差学习与空洞卷积

残差学习是由何恺明等人[14]于2016年提出的,在图像分类、图像处理等多个领域都有着全面领先的效果。它解决了随着网络深度的增加,网络性能逐渐下降的问题。该算法通过跳跃连接实现了网络输入与通过多个叠加层的输出相融合作为后层的输入,解决了梯度消失或爆炸的问题。为此,残差神经网络(ResNet)的许多变体被提出用于低水平视觉任务[21,23]。例如,DPIR通过训练一个灵活高效的CNN 去噪器设置基准深度去噪先验,将它作为模块插入基于HQS的迭代算法,并引入局部残差和全局残差来获取清晰的图像,从而可以解决各种图像复原问题。

提取合适、全局的特征对于图像识别[25]、图像分割[7,26]、目标检测[27]、图像去噪[12,17-20,28-29]和图像超分辨率[17-18,30]是非常重要的。传统的CNN使用堆叠卷积层来降低原始图像的维度,结果经常受到了信息丢失的影响。扩大感受野、增加网络深度和卷积核大小是解决这一问题的有效方法。然而,增加网络深度可能会导致网络性能下降。增大卷积核的大小会使得参数的数量和计算量都增大。最近提出的膨空洞卷积引起了巨大的关注,不仅增强感受野的大小,提取更多的上下文信息,也大大降低了计算代价。使用2个3×3卷积核能代替1个5×5的卷积核,且参数比之前要少很多,基于这个特点能有效解决上述感受野问题。空洞卷积的感受野大小可以用扩张因子r和空洞卷积层数n来表示,感受野大小为(4n+1)×(4n+1)。现有研究表明,空洞卷积对图像去噪也有很好的效果[19]。

2 MBNet模型

2.1 网络架构

不同的网络架构可以提取不同的特征,这些提取的特征在图像去噪中具有互补性。通过增加网络的宽度来增强性能是图像去噪的一个很好的选择。因此,本文提出了一种基于深度学习的多分支网络模型(MBNet),如图1所示。该网络称为MBNet,由以下5部分组成:

图1 MBNet网络模型Fig.1 MBNet network model

(1)第一子网络:共17层,由16层Conv+BN+ReLU,1层Conv组成。由于MBNet模型中每层都有64个3×3大小的卷积核,所以输入为64×50×50×C(C表示通道数)的图像,输出1张50×50×C的特征图,即1×50×50×C的图像。

(2)第二子网络:共17层,第1层Conv+BN+ReLU,第2~8层Dilated Conv+BN+ReLU,扩张率为2。第9层Conv+BN+ReLU,第10~15层Dilated Conv+BN+ReLU,扩张率为2。第16层Conv+BN+ReLU,第17层Conv组成。输入为64×50×50×C的图像,输出为1张50×50×C的特征图,即1×50×50×C的图像。

(3)第三子网络:共9层,由8层Dilated Conv+BN+ReLU,扩张率分别为1、2、3、4、5、4、3、2。1层Conv组成。输入为64×50×50×C的图像,输出为1 张50×50×C的特征图,即1×50×50×C的图像。

(4)Concat:将三个子网络所提取的特征进行通道相加特征融合,输出为3 张50×50×C的特征图,即3×50×50×C的图像。

(5)第18 层:Conv,通过1 个3×3 的卷积核,重建C维图像,输入为3×50×50×C的特征图,输出为1 张50×50×C的特征图,即1×50×50×C的图像。

另外,C=1 和C=3 分别表示灰色图像和彩色图像的通道数。不管是处理已知高斯噪声的灰度图,或者处理灰度图和彩色图盲高斯去噪时,d都是等于18。此外,图1中⊕表示了本文中RL思想的实现,即MBNet中的减法运算(噪声图像-残差图像=清晰图像),此处的清晰图像不等于原图。MBNet网络模型如图1所示。

由于输入图像大小对于整个模型的性能有很大影响。因此,计算整个模型中各个卷积层对应输入图像的感受野大小是非常必要的。在扩张因子的帮助下,感受野可以从环境中获取更多的信息。例如,当第一个网络的扩张率为r时,接收场大小为(2r+1)×(2r+1),其中r为层数。因此,MBNet模型中第一子网络对应输入图像的感受野大小分别为(3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35);在第二子网络中,由于扩张因子为2,2~8层和10~15层从更广阔的领域接收到更多的信息。其中,2~8 层和10~15 层的感受野大小分别为(4n+1))(4n+1),所以第二子网络对应感受野大小分别为(3,7,11,15,19,23,27,31,33,37,41,45,49,53,57,61,63);第三子网络对应感受野大小分别为(3,7,13,21,31,39,45,49,51)。

第一子网络是延续了17层的DnCNN模型结构,与之不同的是,在第一层CNN 后面加入BN 操作,保证了MBNet 在拥有DnCNN 性能及以上的同时,更能加速网络收敛。第二条子网络是由17层的DnCNN演变而来,与之不同的是,将2~8 层及10~15 层的普通卷积换成了扩张因子为2 的空洞卷积。之所以也设计成17 层网络结构,是为了与第一条子网络进行对比实验,来体现引入扩张率相同的空洞卷积来增大感受野,能提取更多的上下文信息来增强边缘特征的提取。BRDNet就是采用了在这样的双网络结构特征,以至于其在高斯图像去噪领域引起了很大轰动。由于第一,第二子网络分别是由普通卷积以及扩张率相同的空洞卷积组成,因此为了做对比实验,第三条子网络由各不同扩张率的空洞卷积组成。由于第一子网络的感受野为35,第二子网络的感受野为63,平均为49,考虑到由17层的不同扩张率的空洞卷积组成的网络的感受野特别大,与所期望的性能会相差甚远,庆幸的是,由IRCNN 演变而来的由扩张率为(1、2、3、4、5、4、3、2、1)的纯空洞卷积的模型对应的感受野为51,与第一、第二子网络平均感受野49接近。并且为了加快模型的收敛速度,也在第一层CNN 上加入了BN 操作。因此,第三层网络在感受野方面接近的情况下,模型只有9层,大大降低了计算代价。

将以上三个子网络同时集成到MBNet,可以使三个子网络产生互补的特征,提高网络的泛化能力。既能体现各子网络在相同条件下的性能优劣,也能展现出各子网络结合的性能与单个子网络之间的对比,所以这三条子网络的结构设计是合理的。

另外,从感受野的角度可以看出,MBNet 的第二子网络与由31 层普通卷积组成的模型性能相当。因此,空洞卷积可以在保持感受野大小不变的情况下,大大降低计算成本。

2.2 损失函数及优化器

受GooLeNet和DnCNN的启发,本文选择均方误差(MSE)来获得网络的最优参数。设x是原始图像,y是噪声图像。当给定训练数据集时,MBNet模型使用RL来预测残差图像f(y),通过x=y-f(y)将噪声图像转换为清晰图像。因此可得f(y)=y-x,即f(y)约等于噪声等级。由于Adam 使用动量和自适应学习率,可以加快收敛网络速度,因此本文通过用Adam优化器[32]最小化以下MSE损失函数来获取最优参数。

其中,N是噪声图像块的数量,θ表示所提出模型的参数。

Adam优化器原理如下所示。

2.3 Conv、BN、Dilated Conv和RL的集成

MBNet的一个优点是将三种不同且互补的网络(包含了DnCNN、IRCNN及BRDNet的结构特性)结合起来进行图像去噪,有着比DnCNN、IRCNN及BRDNet更强的去噪性能以及泛化能力。如图1所示,第一个子网络主要包括Conv、BN 和RL。第二个子网络集成了BN、Conv、Dilated Conv 和RL。第三个子网络集成了BN、Dilated Conv和RL。这三个子网络的层数、对应的感受野都不相同。在层数相同的情况下,第一子网络和第二子网络可以进行对比实验。在感受野方面,第三子网络对应的感受野与第一、第二子网络模型对应的平均感受野方面接近,也可构成对比实验,既能体现各子网络在相同条件下的性能优劣,也能展现出三子网络相互结合的性能与单个子网络之间的对比。从图1 可以看出,MBNet 通过预测加性高斯白噪声(标准差σ(σ=25))可以得到一幅潜在的清晰图像。即首先可以利用MBNet来预测噪声υ。然后,利用得到的噪声υ生成清晰的图像x。所设计的网络遵循以下规则:

(1)绝大多数的CNN模型都是单分支模型,使用堆叠卷积层来降低原始图像的维度,结果经常受到信息丢失的影响,不能充分地利用图像特征;并且网络一旦加深,可能导致梯度消失或爆炸问题。因此,本文设计了一种新的去噪网络,称为MBNet,它使用三个不同的子网络,通过增加网络的宽度来减少网络的深度,从而获得更多的特征。深度被减少,它不会产生消失或爆炸梯度。

(2)该模型通过卷积核改变训练数据的分布。BN被认为是解决这一问题的良好选择。由于该模型的深度不长,参数量不大。在实验过程中设置的batch_size=32,所以使用BN可以有效提高去噪网络的收敛速度并且不会产成梯度消失或爆炸的情况。

(3)深度网络可以提取更准确的特征。然而,深度网络会丢失一些上下文信息,从而造成“边缘伪影”问题,即边缘特征提取不充分。因此,本文在MBNet模型中使用空洞卷积来扩大感受野,捕捉更多的上下文信息来解决此问题。具体地说,空洞卷积可以使用更少的层来发挥与更多层相同的作用。从之前的研究中得知,增加宽度可以提取更多的特征[19],MBNet也具有这样的网络体系结构,即增加网络的宽度而不是其深度来提取更健壮的特征。因此,MBNet在解决边缘特征提取不充分问题上使用空洞卷积来扩大感受野,捕捉更多的上下文信息来提高图像去噪性能方面是非常有效的。此外,减小网络深度还可以防止梯度消失或爆炸。通过这种方式,MBNet 可以降低计算代价。而第二、第三子网络有扩张的卷积,可以使三个子网络产生互补的特征,提高网络的泛化能力。虽然这三个子网络的深度并不深,但是相比于非常深的单一网络,它们的集成可以有很好的性能。

(4)为了解决深度CNN性能饱和问题,MBNet采用了局部残差学习和整体残差学习的方式再次提高去噪性能。

3 实验结果

本文主要从以下几个方面介绍了实验结果:数据集、实验设置、消融实验、MBNet 对于灰度高斯噪声图像、对于彩色高斯噪声图像、运行时间和参数量。首先,本文证明了MBNet 的主要成分技术的有效性。其次,给出了MBNet 在Set12 和BSD68 公共数据集上对灰度合成噪声图像去噪的性能。选择了几种最先进的灰度合成噪声图像去噪方法,如BM3D[3]、WNNM[6]、期望斑块对数似然(EPLL)[32]、MLP[33]、可训练非线性反应扩散(TNRD)[34]、收缩场级联(CSF)[35]、DnCNN[17]、IRCNN[12]、BRDNet[19]来与MBNet 进行比较。最后,本文介绍了MBNet的参数量及运行时间。

首先,为了测试MBNet的性能,本文使用峰值信噪比(PSNR)[12]和主观视觉效果来验证去噪效果。如果在测试数据集上去噪方法的PSNR值越大,则去噪方法的性能越好。其次,为了突出去噪图像上的视觉效果,还从获得的清晰图像中放大一个区域来演示。如果放大的区域越清晰,边缘纹理特征越多,则认为测试的模型就越有效。PSNR计算公式如下:

其中,MAX表示每个图像的最大像素值(MAX在图中的值是1.0)。MSE是原始图像和预测清晰图像之间的误差,由公式(2)求得。再次,本文还展示了MBNet在灰度和彩色合成含噪图像去噪方面的性能。实验证明,MBNet 与其他流行的方法相比,获得了令人信服的去噪结果。最后,本文还对计算代价进行了测量,结果表明MBNet也具有很强的竞争力。

3.1 数据集

对于灰度图和彩色图去噪,本文都使用了滑铁卢勘探数据库中的4 744张图像来训练模型,验证集分别采用Set12和McMaster。灰度图测试集采用Set12和BSD68数据集,彩色图测试集采用CBSD68、Kodak24和McMaster数据集。

一般而言,图像的不同区域具有不同的结构信息。因此,将整个噪声图像切分成多个噪声图像块更容易学习到特定位置的特征。另外,与整个噪声图像相比,使用噪声图像块可以显著节省内存并降低计算成本[31]。

对于给定高斯噪声等级(σ)的灰度图来说,训练图像被裁剪成313 104个*.png格式的图像块,图像块大小设为50×50。对于盲噪声等级的灰度图或者彩色图来说,训练图像被裁剪成626 208 个*.png 格式的图像块,图像块大小设为50×50。

原因如下:本文设计的网络由三个子网络组成,前两个子网络的深度为17,后一个子网络深度为9,MBNet的深度为18,其中第一个子网络的感受野为2×17+1=35,第二个子网络的感受野为63。第三个子网络的感受野为51。如果图像块的大小明显大于感受野的大小,所设计的网络将消耗更多的计算成本。因此,本文将三个子网络的感受野大小的平均值作为MBNet 的感受野,其大小为(35+63+51+2)/3≈50。本文将图像块的大小设置为50×50(50>49)。值得注意的是,图像块的大小为50 远低于第二个子网络的感受野大小,不能完全映射第二个子网络。但是图像块的大小比第一个子网络的感受野大小大,可以为第二网络提供补充信息。因此,为了在效率和性能之间进行权衡,图像块的大小为50是合适的。

3.2 实验设置

MBNet 利用目标函数来预测残差图像,如公式(2)所示。由于本文提出的MBNet 方法主要与DnCNN 以及BRDNet 性能作比较,因此,基本的学习率参数与前两者保持一致。初始化的学习速率为1×10-3,训练MBNet模型的epoch为50,前30个epoch的学习速率从1×10-3,后20 个epoch 的学习速率为1×10-4。值得注意的是,DnCNN 中的batch_size 设置为128,由于MBNet的参数量为DnCNN 的2 倍左右,在硬件条件受限制的情况下,MBNet中的batch_size设置为32,在BN原文献[21]中有明确提出batch_size 越大,BN 越能发挥作用,batch_size设置为32以下,才会对BN的效果产生影响,因此MBNet中的batch_size设置为32是可行的。

为了验证上述MBNet 中的batch_size=32 的可行性,本文做了batch_size 值对MBNet 的去噪效果PSNR(dB)影响(σ=25,Set 12),如表1所示。

表1 Batch_size值对MBNet的去噪影响Table 1 Effect of batch_size value on MBNet denoising

由表1 可看出,batch_size 的值越大,所得到的平均PSNR 值确实是越大。但是总体来说,batch_size=32所得到的平均PSNR 值与batch_size=128 的平均PSNR值在性能上相差不大,由于所有实验都在Win 11 和Python3.8、CUDA 11.3、pytorch 1.10.2 环境中实现,并在配备AMD Ryzen 7 5800H CPU、16 GB RAM 和NVIDIA GeForce RTX 3060 图形处理器(GPU)的PC上运行的。考虑到GPU 的计算能力受限问题,因此本文的batch_size 取值为32 是可行的。其余详细的初始化权重参考文献[17]。

3.3 消融实验

众所周知,不同的网络结构可以产生不同的特征,这些特征在图像高斯去噪中是互补的。因此,本文为MBNet 设计了三种不同的网络架构(即上层网络、中层和下层网络),也称(第一、第二、第三子网络)。在图像高斯去噪中,多个网络的融合比单个网络更有效。因此,MBNet 采用三个子网络加RL 技术分别获取清晰图像。然后,将得到的三张清晰图像进行融合,得到更加清晰的图像,避免了噪声的增强。值得注意的是,融合的清晰图像虽然可以提高图像的质量,但与给定的原始图像相比,可能会导致部分像素过于突出。因此,利用最后一层卷积来消除上面的Näıve 效应,并将得到的特征转化为相应的噪声映射。最后,利用MBNet末端的RL,通过噪声图像和预测噪声映射得到最终的清晰图像。

为了测试MBNet中的每种技术对图像去噪的有效性,本文将对MBNet各子网络及成分进行剖析,还进行了大量对比实验来证明各子网络及成分的高斯去噪效果(σ=25,Set 12)。多种模型对灰度噪声图像的平均PSNR(dB)如表2所示。

表2 多种模型的平均PSNRTable 2 Average PSNR of multiple models

例如,各子网络加入RL与未加RL的高斯去噪效果颇为明显,体现出MBNet中RL对图像高斯去噪的有效性,解决深度CNN性能饱和问题。

在第二子网络中,加入空洞卷积的平均PSNR值比未加空洞卷积多了0.043 dB。并且在MBNet 中两个子网络有一定的空洞卷积发挥作用,其高斯去噪的PSNR值达到最佳。体现出MBNet中利用空洞卷积来增大感受野,提取更多的上下文信息来解决边缘特征提取不充分问题。

两个子网络相互结合也有一定的高斯去噪效果,但总体要比三个子网络结合效果差些。当三个子网络中,空段卷积、BN、RL相互结合在一起时,高斯去噪效果达到最佳,PSNR值为30.632 dB,比DnCNN多了0.244 dB,体现出多分支网络并行,再进行特征融合来增强去噪效果的方法能有效解决深度CNN单分支网络模型提取特征不充分问题。

为了测试MBNet中的每个子网络及成分对图像高斯去噪的有效性,本文还设计了7幅对比图来证明其有效性,从以下几个方面介绍:

(1)MBNet 中的三个子网络模型分别在验证集为Set12 灰度图数据集上的高斯图像去噪的平均PSNR 值走势图(σ=25)。从图2 中可以看出,在层数一致的情况下,第二子网络的最高PSNR值要比第一子网络的要高,epoch=30之后的收敛速度都相对稳定。证明了加入扩张率相同的空洞卷积的第二子网络的高斯去噪效果更好,能提取更多的上下文信息来解决边缘特征提取不充分问题。

图2 各个子网络的平均PSNRFig.2 Average PSNR of each subnetwork

第一子网络延续了DnCNN模型的性能及特点并在第一层CNN 上添加了BN 操作,加速了网络的收敛速度,当在σ=25 时,在Set12 上的平均PSNR 值要比DnCNN 高0.132 dB。第三子网络则是延续了IRCNN的性能及特点,与之不同的是,多添加了两层扩张率分别为4、5 的空洞卷积,因此感受野也随之发生相应变化,且在第一层基础上添加了BN操作,加速网络收敛。当在σ=25 时,在Set12 上的平均PSNR 值要比IRCNN高0.038 dB。实验数据如表2 所示,表明这三条子网络都达到了预期的实验效果。因此,这三条子网络在输入图像相同、网络结构完全不同的情况下,可以使各个子网络产生互补的特征信息,提高网络的泛化能力。

(2)MBNet中的三个子网络两两相互结合分别在验证集为Set12 灰度图数据集上高斯图像去噪的平均PSNR值走势图(σ=25)。从图3~5中可以看出,MBNet模型中两个子网络相互结合的高斯去噪效果要比单个网络的高斯去噪效果明显,两个子网络结合的网络的最高PSNR值要比单一网络的要高,其收敛速度也比单个模型的要快。在表2中也能看出,两两子网络相互结合的平均PSNR值分别为30.581 dB、30.560 dB、30.586 dB,都要依次高于组成其的单一子网络的平均PSNR 值。证明了双分支网络并行,再进行特征融合来增强去噪效果的方法能有效解决深度CNN单分支网络模型提取特征不充分问题。

图3 上、下层及其相结合的网络的平均PSNRFig.3 Average PSNR of upper and lower layers and their combined networks

图4 上、中层及其相结合的网络的平均PSNRFig.4 Average PSNR of upper,middle and their combined Networks

图5 中、下层及其相结合的网络的平均PSNRFig.5 Average PSNR of middle and lower layers and their combined networks

(3)MBNet中的三个子网络结合的模型与两个子网络相互结合的模型分别在验证集为Set12灰度图数据集上高斯图像去噪的平均PSNR值走势图(σ=25)。从图6中可以看出,在MBNet模型中,三个子网络相结合的模型的高斯去噪效果要比两个子个网络相互结合的高斯去噪效果都要好,其最高PSNR值要比两两结合的网络模型都要高,其收敛速度也比两两结合的模型要快,在表2 中也能看出,三个子网络相结合的模型的平均PSNR值为30.620 dB,要高于两两子网络相互结合的平均PSNR 值分别为30.581 dB、30.560 dB、30.586 dB,且都要依次高于组成其的单一子网络的平均PSNR 值。充分证明了三分支网络并行,再进行特征融合来增强高斯去噪效果的方法比双分支的去噪效果更好,更能有效解决深度CNN单分支网络模型提取特征不充分问题。

图6 各结合网络模型的平均PSNRFig.6 Average PSNR of each combined network model

(4)MBNet 模型(Three sub-networks with RL)与Three sub-networks without RL 模型在验证集为Set12灰度图数据集上高斯图像去噪的平均PSNR 值走势图(σ=25)。从图7 中可以看出,MBNet 模型的最高PSNR值要比Three sub-networks without RL 高很多,其收敛速度也比Three sub-networks without RL 模型的要快,在表2中也能看出,MBNet的平均PSNR值为30.632 dB,要高于三个子网络相结合的模型的平均PSNR 值30.620 dB,也高于两两子网络相互结合的平均PSNR值分别为30.581 dB、30.560 dB、30.586 dB,且都要依次高于组成其的单一子网络的平均PSNR 值。充分证明了MBNet模型中RL的有效性,能有效解决深度CNN性能饱和问题。

图7 MBNet与Three sub-networks without RL网络模型的平均PSNRFig.7 Average PSNR of MBNet and Three sub-networks without RL network model

(5)MBNet 模型与DnCNN、BRDNet 模型在验证集为Set12灰度图数据集上高斯图像去噪的平均PSNR值走势图(σ=25)。从图8 中可以看出,MBNet 模型的最高PSNR 值要远高于DnCNN 和BRDNet,其收敛速度也比DnCNN 和BRDNet 的要快很多。在表2 也能清楚地看到,当在σ=25 时,MBNet 的在Set12 上的平均PSNR值要比DnCNN、IRCNN、BRDNet分别高0.244 dB、0.256 dB、0.146 dB。充分证明了MBNet 模型在高斯图像去噪中的先进性。另外,MBNet是将三种不同且互补的网络(包含了DnCNN、IRCNN 及BRDNet 的结构特性)结合起来进行图像去噪,有着比DnCNN、IRCNN 及BRDNet更强的去噪性能以及泛化能力。

图8 MBNet与DnCNN、BRDNet的平均PSNRFig.8 Average PSNR of MBNet,DnCNN and BRDNet

(6)MBNet模型与BRDNet模型在由滑铁卢勘探的4 744 张灰度图训练集(313 104 张图像块)上的Loss 值变化曲线图(σ=25)。纵轴为Loss值,横轴为Step(加载次数)。由于每个epoch的图像块数都为313 104,则50个epoch的图像块总数为15 655 200。由于batch_size=32,意味着设备每次可以加载32 张图像块,则总共需要的加载次数为489 225,与本文的横坐标数字范围相对应。之所以不采用以epoch 为横坐标的方式是因为epoch的总数小,很难反映Loss值的变化趋势,而采用加载次数Step能有效反映Loss值的变化趋势。

由于DnCNN的参数量较小且训练集为由400张灰度图组成的Train400,此数据集可以让DnCNN 的Loss值达到稳定状态,而MBNet 与BRDNet 的参数量较大,Train400不能让其Loss值达到稳定,因此训练集采用了滑铁卢勘探的4 744 张灰度图训练集,本文主要比较MBNet与BRDNet的Loss变化曲线图。

MBNet 与BRDNet 的Loss 值真实变化趋势为图9的彩色模糊部分,为了让Loss值变化趋势看起来平滑一些,将smoothing设成了0.999。

图9 MBNet与BRDNet在训练集上的Loss值Fig.9 Loss value of MBNet and BRDNet on training set

从图9中可以看出,MBNet模型的Loss值要远低于BRDNet,其收敛速度也比BRDNet 的要快很多。根据公式(3)可知,Loss 值越小,PSNR 越大。因此从图9 中Loss 变化趋势也可以推理出MBNet 的去噪性能比BRDNet的去噪性能更强。

3.4 用于灰度图给定高斯噪声去噪的MBNet

首先,对于灰度图给定高斯噪声图像去噪,使用MBNet 和几种最先进的方法(BM3D、WNNM、EPLL、MLP、CFS、TNRD、DnCNN、IRCNN、BRDNet)在Set12上进行了实验,噪声等级(σ=15,25,50)。如表3~5 所示,不同σ值的最佳高斯去噪峰值信噪比用粗体突出显示。本文提出的MBNet模型可以获得最高的平均PSNR,优于DnCNN和IRCNN的灰度图像去噪基准。当σ=50时,MBNet 的平均PSNR 值比BM3D 高0.77 dB,这表明MBNet在Set12上具有更出色的性能。

表3 各模型在Set12数据集(σ=15)的PSNRTable 3 PSNR of each model in Set12 dataset (σ=15)

表4 各模型在Set12数据集(σ=25)的PSNRTable 4 PSNR of each model in Set12 dataset (σ=25)

表5 各模型在Set12数据集(σ=50)的PSNRTable 5 PSNR of each model in Set12 dataset (σ=50)

其次,使用MBNet 和几种最先进的方法(DnCNN、IRCNN、BRDNet)在BSD68 数据集上进行了实验。如表6所示,把不同σ值的最佳高斯去噪峰值信噪比用粗体突出显示。*表示复现的结果,提出的MBNet得到的平均PSNR 值优于DnCNN、IRCNN 和BRDNet 的PSNR值,当σ=50 时,MBNet 的平均PSNR 值比IRCNN 高0.206 dB,这表明MNet在BSD68上也具有很好的效果。

表6 各方法在BSD68数据集上的平均PSNRTable 6 Average PSNR of each method on BSD68 dataset

最后,为了更加方便地观察MBNet 和其他方法的性能,由于每张图像都是有若干个50×50 图像块组成,因此本文还放大了使用不同方法获得的一个清晰图像中的一个50×50大小的区域,分别使用Set12、BSD68各一张图像进行实验。从图10、11中可以看出,与其他方法相比,MBNet可以恢复更多的图像边缘纹理特征并且能获得更清晰的图像,这表明在灰度图高斯去噪中,MBNet具有更出色的性能。

图10 使用不同方法对Set12数据集中的图像进行去噪的结果Fig.10 Results of denoising images in Set12 dataset using different methods

图11 使用不同方法对BSD68数据集中的图像进行去噪的结果Fig.11 Results of denoising images in BSD68 dataset using different methods

3.5 用于灰度和彩色图高斯盲去噪的MBNet

对于含有灰度、彩色图像的高斯盲去噪,本文使用了三个噪声等级(σ=15,25,50)来训练模型。在灰度图盲去噪上,在Set12、BSD68 数据集上将MBNet 与最先进的去噪方法(DnCNN、IRCNN、BRDNet)进行了比较。在彩色图高斯盲去噪上,在CBSD68、Kodak24 和McMaster数据集上将MBNet与最先进的彩色图像去噪方法(DnCNN、IRCNN、BRDNet)进行了比较。表7、表8中用粗体突出显示了不同σ值的最佳PSNR 结果,*表示复现的结果。

表7 各灰度数据集上对应的平均PSNRTable 7 Average PSNR corresponding to each gray dataset

表8 各彩色数据集上对应的平均PSNRTable 8 Average PSNR values of each color dataset

从表7、表8 中可以看出:在Set12 上,当σ=25 时,MBNet的平均PSNR值比IRCNN高0.455 dB;在BSD68上,当σ=15 时,MBNet 的平均PSNR 值比IRCNN 高0.239 dB;在CBSD68 上,当σ=50 时,MBNet 的平均PSNR 值比IRCNN 高0.442 dB;在Kodak24 上,当σ=50时,MBNet 的平均PSNR 值比IRCNN 高0.619 dB;在McMaster 上,当σ=50 时,MBNet 的平均PSNR 值比IRCNN高0.831 dB;因此,所提出的MBNet 模型方法在不管是在灰度图,还是彩色图高斯盲去噪方面比其他方法更有效,这表明MBNet具有更强的性能。

为了更加方便地观察MBNet 和其他方法的性能,由于每张图像都是由若干个50×50图像块组成,因此本文还放大了使用不同方法获得的一个清晰图像中的一个50×50大小的区域,分别采用McMaster和Kodak24各一张图像进行实验。从图12、图13中可以清楚看出,与其他方法相比,MBNet可以恢复更多的图像边缘纹理特征和获得更清晰的图像,这表明在彩色图高斯去噪中,MBNet同样具有更出色的性能。

图12 使用不同方法对McMaster中的图像进行去噪的结果Fig.12 Results of denoising images in McMaster dataset using different methods

图13 使用不同方法对Kodak24中的图像进行去噪的结果Fig.13 Results of denoising images in Kodak24 dataset using different methods

综上所述,不管是在给定噪声等级的灰度图高斯去噪上,还是灰度图、彩色图高斯盲去噪上,大量实验结果证明了MBNet与目前先进的各个算法模型的性能都要优秀,如表3~8中数据所示。并且如图10~13所示,MBNet与其他先进的算法相比,可以恢复更多的图像边缘纹理特征和获得更清晰的图像。这表明不管在灰度图还是彩色图高斯去噪中,MBNet同样具有更出色的性能以及更强的泛化能力。

3.6 运行时间和参数量

一个好的去噪器应该在峰值信噪比和运行时间及参数量之间实现折衷[12]。在参数量方面,MBNet 与DnCNN 和BRDNet 进行了比较,如表9 所示。例如,在对彩色图像高斯盲去噪中,MBNet模型的参数量及每秒千兆次浮点数分别是1.37×106、3.45,是DnCNN 模型的两倍左右,同时也比BRDnet 多些,但是MBNet 模型所表现出来的去噪性能是DnCNN及BRDNet都无法比拟的。因此,以增加模型的参数量的方式来提升模型的高斯去噪性能也是一种不错的选择。

表9 各方法的参数量Table 9 Number of parameters of each method

另外,评估一个模型的好坏,测试速度是比训练速度更重要的指标[36]。因此,本文使用了大小分别为256×256、512×512和1 024×1 024的灰度图(σ=25)进行时间测试,实验中MBNet 与BM3D、WNNM、EPLL、MLP、TNRD、CSF、DnCNN 和BRDNet 进行了比较。如表10所示。例如,在有GPU的条件下,输入图像为一张256×256的图,DnCNN及BRDNet的测试时间分别为0.036 s、0.062 s,而MBNet 的测试时间为0.078 s,这与预期的测试时间相差不大,因为MBNet 模型的参数量是DnCNN的两倍左右。尽管MBNet的测试时间相比其他的先进模型的测试时间要多点,但是取得的高斯去噪性能要远强于DnCNN。

表10 各方法在不同尺寸图像的测试时间Table 10 Test time of each method in images of difference size 单位:s

综上所示,MBNet 模型在高斯图像去噪方面与DnCNN、BRDNet 在性能、GPU 上运行时间和复杂度上具有很强的竞争力,即提出的MBNet 具有较小的计算代价的同时有着比DnCNN、BRDNet更加出色的高斯去噪性能。

4 结语

本文提出了一种新的基于深度学习的多分支网络去噪模型MBNet。首先,MBNet 引入三条分支网络作为子网络,将三条子网络并行操作,来增加MBNet的宽度,并将其各自子网络提取的特征相融合,从而获得更多的图像特征,解决了深度CNN 单分支网络模型提取特征不充分问题。其次,MBNet在第二分支及第三分支引入多个不同扩张率的空洞卷积来增大感受野,提取更多的上下文信息来增强边缘特征的提取,再降低计算成本的同时,还解决了绝大多数深度CNN 边缘特征提取不充分问题;最后,MBNet 使用了多局部残差学习和整体残差学习来解决了深度CNN网络在高斯图像去噪方面性能饱和问题。大量实验结果表明,MBNet不管是在灰度图还是彩色图上的高斯去噪方面与其他先进方法相比具有更强的高斯去噪性能。另外,MBNet 包含了DnCNN、IRCNN及BRDNet的结构特性,可以使三个子网络产生互补特征,有着比DnCNN、IRCNN及BRDNet更强的泛化能力。在未来,计划使用具有先验知识的CNN 来处理更复杂的真实含噪图像去噪,如遥感图像和医学图像等。

猜你喜欢
高斯灰度卷积
采用改进导重法的拓扑结构灰度单元过滤技术
基于3D-Winograd的快速卷积算法设计及FPGA实现
基于灰度拉伸的图像水位识别方法研究
数学王子高斯
天才数学家——高斯
从滤波器理解卷积
基于傅里叶域卷积表示的目标跟踪算法
基于最大加权投影求解的彩色图像灰度化对比度保留算法
基于灰度线性建模的亚像素图像抖动量计算
有限域上高斯正规基的一个注记