基于残差连接的并行网络去噪*

2023-12-09 08:50颜戚冰周先春昝明远王博文
计算机与数字工程 2023年9期
关键词:残差卷积噪声

颜戚冰 周先春,2,3 昝明远 王博文 张 杰

(1.南京信息工程大学电子与信息工程学院 南京 210044)

(2.江苏省大气环境与装备技术协同创新中心 南京 210044)

(3.南京信息工程大学人工智能学院 南京 210044)

1 引言

国内外学者从多方向对图像去噪进行了深入的研究,相比于传统去噪方法,深度学习技术在图像去噪方面效果显著[1~5]。在过去的数十年,稀疏模型、梯度模型、非局部自相似模型、马尔可夫随机场模型等众多模型在此去噪方面取得有益的效果。另外,基于变换域的贝叶斯最小乘法和BM3D[6~9]等图像去噪的方法在峰值信噪比等测试中均得到一定程度的提升。

尽管这些方法和模型的去噪质量很高,但也存在着缺点。算法过于复杂,大多数先验模型必须采用牺牲计算效率的代价换取较高的性能,梯度容易消失或者爆炸,训练深度不够深,或者训练深了后性能变差,恢复图像的成本非常高。而残差网络[10~14]的提出,可以避免信息在传输过程中丢失与损耗的效果,从而简化学习难度,提高学习效率。

本文在充分考虑去噪质量和去噪效果的基础之上,提出了一种基于残差连接的并行网络新模型。先通过残差学习和批量归一化[15]来使得神经网络在层数逐步深入的时候,性能基本不退化,并设计成预测残留图像,即通过观察噪声和潜在图像之间的差异来达到移除潜在清洁图像的效果;再使用并行网络,增加了神经网络的宽度,提取了更多图形特征,提高了去噪性能。

2 图像去噪与卷积神经网络

2.1 图像去噪的原理

利用先验知识并通过技术手段去除图像中被噪声占据的模糊区域,使图像恢复原始面目。用f(x,y)表示二维空间能力分布,在经过系统H时引了噪声n(x,y),导致图像变模糊,最终生成了图像g(x,y)。整个过程为式(1):

本文主要研究深度学习中的加性高斯白噪声的去噪问题。

2.2 卷积神经网络

卷积神经网络模型一般由卷积层与池化层交替连接组成,其中池化层利用池化操作降低前一层输出特征图像的维度,以防出现过拟合的问题,而使用卷积神经网络去噪时,池化操作的降维处理会滤除部分特征,对去噪产生不利影响,所以一般会移除池化层,仅保留卷积层,网络模型如图1所示。

图1 卷积神经网络去噪模型一般结构

权重共享和稀疏连接是卷积神经网络的最大特点,与传统神经网络相异。这种特殊的网络结构可以很大程度地减少训练中的计算量,因此用来处理图像特征显得非常方便合适。

3 新方法的提出

本文提出基于前馈去噪卷积神经网络(DNCNN)结合批量重整化去噪网络(BRDNet)的去噪新方法。首先,在网络架构设计方面,将BRDNet 与BRDNet 中的并行网络结合起来,将原网络分为一个七层的上网络和一个八层的下网络,并改变VGG 网络使其符合所设定的要求,并对比目前优秀的去噪方法中设置的有效斑块大小来对网络的深度进行调整。然后,在模型学习与训练方面,采用残差学习,提升去噪速度,优化去噪性能。最后,在DNCNN 的基础上,结合BRDNet 中的并行网络,用增加神经网络的宽度取代深度。

3.1 残差学习和批量归一化

残差和批量归一化的结合能使训练更加快速稳定,去噪性能更加优异。

残差算法将提取的特征融合多个堆栈层,共同输入,能够处理梯度爆炸或消失的问题。本文提出的新模型将使用单个残差单元来预测残差图像,这与传统的直接使用残差网络有较大的区别。此外,本文通过研究残差的原理,并将其性能加以延伸,使其能预测残差图像并间接清除噪声,从而能达到去噪的目的。

批量归一化是一个自适应的重参数方法,能够解决训练模型层数变深带来的困难。使用批量归一化在每一层的非线性前引入归一化步骤与缩放移位步骤来减小内部协变量的偏移。当归一化时,每次激活只加入两个参数,并且能使用反向传播更新,从而加快了训练的速度,使得其具有更好地性能。这种规范化是针对单个神经元的,批量归一化训练公式如式(2)所示。

其中:

m是批量归一化数据集的大小,ε是一个非常小的正值,当梯度在0 处没有定义时,ε能够有效地规避这类问题。

3.2 并行网络

随着卷积神经网络深度的不断增加,性能也开始逐渐下降。而增大滤波器的尺寸又会带来较高的计算成本。因此,本文考虑增加卷积神经网络的宽度而不是深度,建立并行网络,将原本的x分解成x1、x2、x3…,使得在BRDNet 的基础提取的图像的特征更多,从而去噪后与原图像更接近。

3.3 网络深度

本文将卷积滤波器的大小设置为3×3,但是对其中的池化层加以去除。感受野可定义为卷积神经网络每一层输出的特征图上的像素点在原始图像上映射的区域大小。假设一个DNCNN的深度为d,则它的感受野可表示为(2d+1)2。当卷积层较浅时,图像的每个像素点只是对原图像的局部信息的特征提取,图像的细节信息很多,但是图像的上下文信息确实很少;对于较深的卷积层来说,图像能看到的原图像范围更大,但是细节信息相对而言就会比较少。如何在其中进行更好的平衡,一个很重要的问题就是DNCNN该如何设置恰当的深度。

去噪神经网络的感受野大小与去噪方法的有效斑块大小有着密不可分的联系。另外,如果一个噪声水平偏高,则所需要的来获取更多信息进行恢复图像的有效补丁则越多。所以,先将噪声水平的σ2设置为固定值25,然后研究了目前几种主流优秀去噪方法的有效斑块尺寸,与本文使用DNCNN模型进行对比分析。

本文将DNCNN 结合BRDNet 的新模型的感受野大小设定为35×35,从而与EPLL 进行对比,以得到准确的数据。深度的选择也尤为重要,需要在性能和效率之间保持平衡。经过多次实验验证,本文将具有特定噪声水平的高斯去噪的深度设置为17,而对于其他一般的图像去噪任务,本文选择使用更大的感受野来观察结果,因此将深度设置为20。

3.4 网络架构与损失函数

本文提出的新模型是一个噪声观察y=x+v,x为原始的不含噪声的干净图像,y为含有噪声的图像。为了得到网络的最优参数,本文选择均方误差。新方法采用残差学习公式来训练残差映射R(y)≈v,将其代入y=x+v推出x=y-R(y) 的形式,将一张有噪声的图像转换成一张干净的原始图像。由Adam 将损失函数最小化即可得到最优参数,期望的残差图像与噪音输入的估计残差图像之间的平均均方误差如式(4)所示:

其中,N为噪声图像斑块个数,θ为模型参数,xi和yi(N=1,2,3…N)表示N个噪声-原始图像,即补丁对。R(yi,θ)表示对残差图像的预测的值,(yi-xi)表示实际的值,再由均方误差的计算公式,即可得到期望的残差图像与估计的残差图像之间的平均均方误差。参数θ即为本文要学习的训练参数,也就是前文所提到的权重和偏置。

对于给定深度为H的结合模型,新方法的主要步骤如下:

Step1:第一层,卷积+线性整流单元。使用64个3×3×1 的滤波器生成64 个特征灰度图,并使其通过ReLU线性整流单元。

Step2:第2-(H-1)层,卷积+批量标准化+线性整流单元,使用64 个3×3×64 的过滤器,在卷积和线性整流函数中间加入批量归一化。

Step3:在单个并行网络的最后使用3×3×64 的滤波器来重建输出。

Step4:将两组并行网络合并在一起,再经过Conv得到残差图像,经恢复得干净图像。

4 实验结果与分析

4.1 训练和测试数据集

本文使用了400张大小为180×180的图像进行训练,部分训练数据集图片如图2 所示。为了验证DNCNN 对已知噪声水平具有高斯去噪,一共选择了三个噪声水平,噪声水平σ2分别等于15、20 和25。本文设置斑块大小为40×40,并裁剪了128×1600 个斑块来进行训练。为了训练单个模型盲高斯去噪,本文还将噪声水平设定在[0,55]之间,再将斑块大小设置为50×50,裁剪了128×3000个补丁进行训练模型。

图2 400张训练数据集的部分图片

对于测试图像,本文使用了两个不同的测试数据集从而对本文所提出的DNCNN 和BRDNet 的结合的模型进行了综合的评估。最先使用的测试集由12 张灰度图像组成,如图4 所示,接着使用的测试集是伯克利分割数据集(BSD68)的68 个自然图像,部分图像如图3 所示,并且测试集的这些图像都与训练集中使用的图像相异。

图3 伯克利分割数据集的部分图片

图4 由12张灰度图构成的测试集

为了学习三个不同噪声水平去噪的单个模型,通过在[0,55]的范围内添加具有特定噪声水平的高斯噪声来生成噪声图像。在小批量学习期间,还使用了对补丁的旋转、翻折等操作,产生更多的数据集进行分析。本文分别将单独的DNCNN模型和结合了BRDNet 中的并行网络的DNCNN 模型进行训练,并对比实验结果,得出结论。

4.2 参数设置和网络训练

为了获取足够的空间信息,本文将DNCNN 的网络深度设为17,用于灰度合成和真实噪声图像去噪。损失函数采用学习残差映射R(y)来预测残差图像,初始化权重,使用权重衰减为0.0001,动量为0.9 和小批量大小为128 的SGD。这里将批大小设置为32,噪声水平大小分别设置为15、25、50,训练轮数设置为100,学习率随着迭代次数从1e-1 到1e-4 递减。同时,采用并行网络,将原网络分割为一个7层的网络和一个8层的网络进行并行。

本文使用tensorflow 框架来训练所提出的DNCNN 和BRDNet 结合的模型,所有实验均在python(3.7 版本)环境中进行,在GPU 上分别训练单独的DNCNN 模型以及与并行网络结合的DNCNN模型,并把两者的实验结果进行对比。

4.3 定性和定量分析

利用Matlab 仿真软件进行噪声去除分析来验证本文算法的可行性,通过峰值信噪比(PSNR)、结构相似度(SSIM)两种指标来比较和评价该算法的有效性。

其中,其中,MSE为均方差,MAXI表示图像点颜色的最大数值。I(X,Y)表示亮度,C(X,Y)表示对比度,S(X,Y)表示结构比较。SSIM 的值越接近于1,PSNR的值越大,则去噪效果越优异。

本文首先对于12 个灰度图像测试集进行测试。类似地,实验又测试了噪声水平σ2分别为15和25 时,新模型与DNCN 的PSNR 和SSIM 的值,如表1所示。

表1 新模型与DNCNN使用第一种测试集在不同噪声水平下的PSNR和SSIM值

通过比较新模型与DNCN 模型可知:当测试轮数较少时,新模型在峰值信噪比和结构相似性方面比单独DNCNN 模型稍低,然而随着训练轮数的逐渐增大,本文提出的新的结合模型逐渐显现出优势,在峰值信噪比和结构相似性方面都优于单独的DNCNN模型。

当噪声水平较小的时候,本文提出的新的训练模型无论是从峰值信噪比还是结构相似性来看,都是比单独的DNCNN 模型具有优势;而当噪声水平比较高的时候,新的训练模型的峰值信噪比也高于单个DNCNN模型要高,结构相似性接近。

再使用第二种BSD68 测试集进行同样的测试。对于BSD68 测试集的新模型测试结果如表2所示。

表2 新模型使用第二种测试集在不同噪声水平下的PSNR和SSIM值

通过表2 对比可以看出,第二种测试集测试的最终结果与第一种类似,本文提出的新模型仍具有较好的优势。

最后将本文提出的新模型在相同的训练集和测试集的数据,与现有几种比较成熟的主流算法BM3D、WNNM、EPLL、CSF 和TNRD 进行对比,结果如表3所示。

表3 几种主流算法的平均峰值信噪比(PSNR)的值

由表3 可以看出,本文提出的新模型在三种噪声水平上均超过BM3D 0.4bB 左右,对比最新文献可知,平均峰值信噪比超过BM3D 方法0.3dB 的很少,即使是对于噪声水平未知的情况,本文所提出的结合模型也能达到非常不错的效果。值得注意的是,当噪声水平为50 时,本文的新模型的平均峰值信噪比性能优于BM3D 0.61dB,达到了非常理想的去噪效果。新模型不论是与DNCNN模型还是与几种主流算法相比,都具有更为优异的去噪效果。

图5 和图6 分别是原始图像以及噪声水平为25 时的处理后的图像。可以看出,新模型和DNCNN 模型都恢复了锋利的细节和边缘,但是使用新模型去噪的图像显得更加清晰、生动,更加给人一种真实感。

图5 噪声水平为25时的原始含噪声图像经新模型和DNCNN处理后图像对比(Lena)

除了视觉效果之外,图像去噪的另外一个重要方面是训练速度。实验在GPU 上运行python3.7,使用tensorflow 扩展包。对于实验所用的图片数据集,在训练的时候,新模型进行100 轮的大致时间为1.2h 左右,与DNCNN 所进行100 轮的时间大致相当。在测试的时候,DNCNN 模型每次的时间在30s 左右,而新模型每次的测试时间大致在22s 左右。可以看出,新模型在测试方面具有优势,考虑到新模型去噪所得的图像的峰值信噪比和结构相似性要优于DNCNN 模型,因此新模型的去噪性能非常优越。

5 结语

本文以卷积神经网络的深度学习为基础,提出了一种在DNCNN 的基础之上增加BRDNet 中的并行网络结合的新模型,新方法是将卷积与线性整流单元相结合,配合隐藏层,能够使得噪声观察与图像结构缓慢分离,端到端的训练,规避了缺陷,减少了训练的复杂程度。残差学习和批量归一化的结合对训练起到了加速的作用并且去噪效果优异;双通道网络的使用,增加了网络的宽度,大大提高了去噪性能,在训练对象不变的情况下间接性地相当于减少了网络的深度,有效避免了梯度消失或爆炸,降低了训练成本,提高了网络的泛化能力。

猜你喜欢
残差卷积噪声
基于双向GRU与残差拟合的车辆跟驰建模
基于3D-Winograd的快速卷积算法设计及FPGA实现
基于残差学习的自适应无人机目标跟踪算法
噪声可退化且依赖于状态和分布的平均场博弈
基于递归残差网络的图像超分辨率重建
从滤波器理解卷积
基于傅里叶域卷积表示的目标跟踪算法
控制噪声有妙法
平稳自相关过程的残差累积和控制图
一种基于白噪声响应的随机载荷谱识别方法