一种基于双层卷积神经网络的图像去噪方法
2022-05-19沈炜恒王露薇朱永贵
沈炜恒,王露薇,朱永贵
(中国传媒大学 数据科学与智能媒体学院,北京 100024)
随着社会的发展,数字图像在生活中被越来越多的人使用。去除噪声是图像处理任务中必不可少的环节[1]。目前图像去噪的方法大致可以分为两类:模型法(model based methods)和判别学习法(discriminative learning based methods)。模型法主要有三维块匹配(block matching 3D,BM3D)[2]和加权核范数最小化(weighted nuclear norm minimization,WNNM)[3],它们可以达到灵活去噪的效果,不需要提前进行训练,对计算机计算能力的要求也较低,但是面临着处理时间长和不能直接去除空间变异噪声等问题。多层感知器(multi layer perceptron,MLP)[4]和卷积神经网络(convolutional neural networks,CNN)[5-6]方法属于判别学习法,通过对原始真实图像和加噪降质图像学习,达到图像去噪目的。基于CNN 的DnCNN[7]和TNRD[8]方法具有较好的去噪效果,归功于网络的优化设计和深度学习训练。然而这类方法的去噪灵活性有限,需要将模型调整到特定的噪声水平进行训练才能达到较好的去噪效果。为了解决这一问题,Zhang 等[9]在DnCNN 的基础上于2018 年提出了快速灵活的去噪网络(fast and flexible denoising net,FFDNet)方法来解决图像去噪不灵活的问题,其在DnCNN 的基础上引入了噪声水平图技术。从回归的角度看,网络学习就是得到学习函数x=F(y;θ),其中x 代表清晰图像,y 代表加噪图像,θ 代表模型参数。FFDNet 通过引入噪声水平图使网络训练得到学习函数x=F(y;M;θ),从而实现去噪的目的。近几年越来越多的卷积神经网络被应用到图像去噪领域,例如Jia 等[10]提出的FocNet 在去除噪声的同时具有相关记忆性;Tai 等[11]提出的MemNet 能保留图像重要细节,除此之外图像盲去噪也逐渐成为图像去噪的热点。
本文将噪声水平图像作为网络输入,对图像进行下采样,通过扩张卷积增加感受野,利用批处理和带泄露修正线性单元函数来优化网络。采用双层网络的结构,以便提高网络的感受野,进而提高细节信息较多的图像去噪性能。本文设计的网络与其他图像去噪网络相比具有更强的处理能力和较好的去噪效果。
1 卷积神经网络知识的准备
卷积神经网络结构主要包括输入层、卷积层、池化层、连接层和输出层。每一层对应不同的设置,例如卷积层需要设置卷积核、激活函数等,输入输出层需要设置输入输出格式。下文具体介绍网络对应的相关设置。
1.1 批再归一化
CNN 通常由激活函数[12]、池化操作[13]和卷积操作组成。与传统的MLP 方法相比,这些操作可以提高网络图像去噪性能,但是仍然出现训练数据大,预测结果不准确的问题。为了解决这些问题需要引入批归一化(batch normalization,BN),不仅可以防止梯度消失和爆炸,而且还可以通过加速网络的训练提高去噪性能。但是BN 对于小批次是无效的,这限制了其应用,批再归一化(batch renormalization,BRN)[14]可以弥补BN 的缺点,因此带有BRN 的CNN更适合图像去噪。
1.2 带泄露修正线性单元函数
修正线性单元(rectified linear unit,ReLu)[15]作为常见的激活函数,其表达式为f(x)=max(0,x),但是,在实际使用过程中,当ReLu 输入值接近零或负值时,梯度会变为零从而导致网络无法进行有效的训练。Leaky ReLu 在原有ReLu 的基础上将激活函数改为
本文网络的激活函数选择Leaky ReLu,能有效避免梯度消失的情况。
1.3 扩张卷积
一般卷积层有相对有限的感受野,不利于获得更丰富的特征。扩张卷积能在不增加参数数量的同时扩展感受野,并且可以改善去噪性能[16]。在大多数计算机视觉任务如面部表情识别[17]和人体姿势估计[18]中,多路网络能比单向网络具有更好的性能,原因在于多路网络能进一步扩大网络的感受野,从而能更好地捕获图像特征。
2 网络结构
在FFDNet 单层网络基础上,我们并行增加了一层网络流。新增加的网络层可以使用GPU 并行加速技术获取更多的图像特征。FFDNet 网络结构如图1 所示,网络输入为的4 个子采样图像和纯噪声图像,其中W、H 和C 分别为图像宽度、高度和通道数。噪声水平可在0~75 之间随机选择。网络学习包含17 层:
*第1 层=Conv+Leaky ReLu;
*中间层=Conv+BRN+Leaky ReLu;
*最后一层=Conv。
本文构造的网络如图2 所示,将FFDNet 作为顶部网络,底部网络学习仍为17 层:
图1 FFDNet 网络结构示意图Fig.1 Schematic of FFDNet network structure
图2 本文网络结构示意图Fig.2 Schematic of network structure
*第1,9,16 层=Conv+BRN+Leaky ReLu;
* 第2~8 和10~15 层=Dilated Conv+Leaky ReLu;
*最后一层=Conv。
其中卷积核大小都是3 × 3,膨胀率为2。由于扩展卷积的卷积核是连续的,并非所有信息都在计算中使用,因此导致信息的损失。如果将普通卷积和扩张卷积结合起来可以很好地解决这个问题。顶层网络和底层网络都是4 个输出通道,级联后形成8 个输出通道,将这些输出通过卷积操作形成4 个去噪预测图像,然后对其进行上采样最终生成去噪图像。
2.1 训练数据和测试数据
网络训练图像数据集为来自ImageNet 数据集中的400 张BSD 图像,而网络测试图像数据集采用图像处理数据集Set12[19]的12 张灰度图像和数据集Set5 中的5 张彩色图像。所有的训练数据集都在原有数据[20]的基础上运用了数据增强技术,包括在训练前进行垂直和水平翻转以扩大数据集。
2.2 其他设置
实验测试层数为17,学习率随时间变化从1 ×10-4下降到1 × 10-6。网络基于Python 3.7 使用Pytorch 框架对数据进行训练和测试,其中CPU 型号为Intel(R)Xeon(R)Silver 4114,GPU 型号为NVIDIA TESLA V100。
3 实验结果
通过数值实验,我们给出本文的方法和其他方法在Set12 数据集上的去噪结果。表1 为BM3D、FFDNet 和本文的方法在噪声水平σ 分别为15、25、35、50 和75 时的平均峰值信噪比(peak signal to noise ratio,PSNR)数据,其中最佳性能以加粗数据显示。
表1 PSNR 效果对比图Tab.1 Schematic diagram of network structure comparison
由表1 可以看出本文方法在处理图像去噪时都优于其他方法,对于“Barbara”这类细节纹理较多的图像,本文方法设计的网络也具有很好的效果。图3显示的是在不同噪声水平下对Barbara 灰度图像去噪的结果。图4 显示的是采用不同方法在噪声水平为25 的条件下对Barbara 灰度图像进行去噪的结果。由去噪图像可以看出本文方法在去噪的同时也保留了边缘细节。这说明本文设计的网络与其他网络方法相比具有比较好的去噪效果。本文网络分别使用CBSD68[21]和Set5 作为彩色图像去噪的训练和测试数据集。在σ=25 时,对Set5数据集的处理结果如图5 所示。由此可见,本文设计的网络对于彩色图像的去噪效果较为明显,对彩色图像Butterfly 的处理效果如图6 所示。σ=15、25、50、75 时,在去除图像噪声的同时也保留了图像纹理细节,特别对于明暗交错的翅膀纹理有较好的处理效果。本文设计的网络在去除图像噪声的同时能保持很好的边缘轮廓信息。
图3 不同噪声水平下Barbara 图去噪结果Fig.3 Comparison for denoised Barbara results under different noise levels
图4 在噪声水平25 条件下的去噪结果Fig.4 Denoise results for the noise level 25
图5 Set5 测试集的去噪结果Fig.5 Denoised results for Set5 images
图6 本文设计的网络对彩色图像去噪效果细节图Fig.6 Details of color image denoising effects for ours
表2 给出了BM3D、FFDNet 和本文设计的图像去噪网络在处理256 × 256、512 × 512 和1 024 ×1 024 的图像的运行时间比较结果,可以看出本文提出的方法具有较快的去噪速度。
表2 去噪方法运行时间比较Tab.2 Running time comparison for denoising methods s
表3 给出采用不同方法对Set12 去噪后的平均结构相似性图像度量(structural similarity image measurement,SSIM)结果,加粗标注为数值最高。与BM3D、DnCNN 和FFDNet 图像去噪方法相比,当σ 分别为15、25、50 时,本文提出的去噪方法的SSIM 值最高。因此本文设计的图像去噪网络方法是一种快速有效的去噪方法。
表3 采用不同方法对Set12 去噪后的平均SSIMTab.3 Average SSIM for Set12 Via Different Denoising Methods
4 结论
本文提出的图像去噪算法是一种快速、有效和灵活的方法。采用BRN、Leaky ReLu、Dilated Conv等技术提高去噪性能。通过对不同图像的测试,验证了本文方法的有效性。今后,研究工作将继续改善网络性能,以处理更多问题复杂的视觉任务并将其应用于特定场景例如医学图像去噪领域等。