基于近似U型网络结构的图像去噪模型

2022-08-24 06:30靳华中张修洋叶志伟张闻其夏小鱼
计算机应用 2022年8期
关键词:网络结构步长卷积

靳华中,张修洋,叶志伟,张闻其,夏小鱼

(湖北工业大学计算机学院,武汉 430068)

0 引言

图像去噪在许多实际应用中是必不可少的[1]。在图像处理的低层视觉中它是一个经典且具有挑战性的问题。根据图像退化模型y=x+v,图像去噪的目标是从噪声观测值y中恢复出干净的图像x,而一个常见的假设是v为标准差为σ的加性高斯白噪声[2]。在过去的几十年中,人们提出各种算法对图像进行先验建模,并且有些取得了不错的效果,例如块匹配三维协调滤波(Block-Matching and 3D coordinated filtering,BM3D)算法[3]、同时稀疏编码学习(Learned Simultaneous Sparse Coding,LSSC)算法[4]、非局部集中的稀疏表示(Nonlocally Centralized Sparse Representation,NCSR)算法[5]和加权核范数最小化(Weighted Nuclear Norm Minimization,WNNM)算法[6]。尽管上述算法去噪效果较好,但大多数都存在两个缺点:第一,这些算法通常在测试阶段的优化步骤很复杂,导致去噪整体耗时较长;第二,这些算法的模型通常是非凸的,并且大多数参数需要手动选择。为了克服上述缺点,Schmidt 等[7]出了一种收缩场级联(Cascade of Shrinkage Fields,CSF)算法,将基于随机场的模型和展开的半二次优化算法统一到一个学习框架中。Chen 等[8]提出了一种可训练的非线性反应扩散(Trainable Nonlinear Reaction Diffusion,TNRD)模型,该模型通过展开固定数目的梯度下降推理步骤来学习图像的修改域先验。尽管CSF 和TNRD 在运算效率和去噪效果方面展现出了较好的结果,但它们本质上受限于先验的形式。具体来说,它们的先验是基于分析的模型,即只能捕捉到图像结构的部分特性,并且参数都需要手动设置,导致其具有一定的局限性。随着深度学习的兴起,人们开始尝试使用深度学习的方法去处理图像的去噪问题,Zhang 等[9]将图像去噪视作一个简单的判别学习问题,通过前馈卷积神经网络(Convolutional Neural Network,CNN)将噪声从图像中分离出来,由此提出了去噪卷积神经网络(Denoising Convolutional Neural Network,DnCNN)模型。该模型将整流器线性单元(Rectified Linear Unit,ReLU)[10]、批量归一化[11]和残差学习[12]巧妙地引入到传统的CNN 中,导致DnCNN 模型不仅加快了算法的训练过程,而且提高了去噪性能。但在实际应用中,人们发现这样的网络结构在训练过程中容易发生过拟合,导致无法获取到图片的全部信息,从而造成较差的去噪效果。文献[13]提出了在DnCNN中使用卷积与反卷积进行叠加的形式进行网络处理,并进一步修改损失函数,虽然得到了比DnCNN 模型更好的效果,但是在精度和效率上的提升并不是很明显。

本文基于DnCNN 模型提出了一种基于近似U 型网络结构的图像去噪模型。在本文的网络结构中,卷积神经网络层用于提取图像的特征信息,反卷积神经网络层则主要用于复原图像,恢复并放大一些图像处理过程中遗漏的细节信息。为了缩短训练的时长,本文采用了步长为2 的卷积层缩放图像,这样可以在保留图像信息的同时,达到缩短训练时间的效果。在网络的后半段,同样采用步长为2 的反卷积层恢复图像。为了得到纯噪声图像,本文保留了DnCNN 中原有的残差学习用于过滤出干净的图像,使得网络中的计算负载量进一步地减小,以缩短训练时长。

实验结果表明,在已知噪声级别的高斯降噪中,本文模型比经典去噪算法BM3D 和基于深度学习的去噪模型DnCNN 的降噪效果更好,并且比DnCNN 的训练时长更短。

1 相关工作

1.1 DnCNN模型

DnCNN 模型是目前深度学习应用于图像去噪领域所公认的较为优秀的模型。相较于传统的图像去噪算法在峰值信噪比(Peak Signal-to-Noise Ratio,PSNR)上有明显的提升。如图1,DnCNN 的网络结构主要分为三个部分,在网络的第1层,使用了64 个大小为3×3 的滤波器生成64 个特征图,然后利用ReLU 处理非线性;在网络的第2~15 层,使用了64 个大小为3×3 的滤波器,并且在卷积和ReLU 之间添加批量归一化;在网络的第16 层,使用了大小为3×3 的滤波器重建输出,然后在网络的末端采用残差学习过滤出干净的图像。DnCNN 模型的提出主要有两个贡献:第一,为高斯去噪提出了一个端到端的可训练的深度卷积神经网络模型;第二,发现将批量归一化和残差学习结合可以使卷积神经网络学习获得极大的收益,即利用残差学习,可以通过隐藏层逐渐将图像结构与噪声观测分离,利用批量归一化则可以减轻内部协变量偏移。两者相结合从整体上加快了网络的训练速度,并且提高了去噪性能。

图1 DnCNN网络结构Fig.1 DnCNN network structure

1.2 反卷积

反卷积[14]又被称为转置卷积(Transposed Convolution)。相对来说,卷积层的前向传播过程就是反卷积的反向传播过程,卷积层的反向传播过程就是反卷积的前向传播过程。卷积操作是将原有的图片进行了矩阵的卷积运算,将整体的视野放到局部,从而得到图像的细粒度特征信息。而反卷积的操作则是类似于卷积的逆过程,即能够将局部的视野重新扩充到整体,并且恢复出原图像的粗粒度特征信息。利用反卷积网络可以学习到图像的边缘、线条信息,并以一种无监督的方式恢复图像视觉中的中层特征。卷积神经网络在训练时直接获取到了图像的特征信息,而反卷积网络在训练时则获取到了图像中空域范围更大的特征信息,即多个局部信息的延展和综合。由此可以看出,卷积与反卷积是两个密不可分的过程,虽然它们在物理形式上只是两个逆过程,但在应用于图像信息提取时,两种方法可以学习到图像中的不同信息,因此结合起来使用是可行的。

1.3 U-Net

U-Net[15]是比较早使用多尺度特征进行语义分割的算法之一,由于其压缩和扩展过程呈现出的U 型结构而得名。U-Net 网络结构如图2 所示。

图2 U-Net网络结构Fig.2 U-Net network structure

网络的输入端采用不同步长的卷积操作将图像进行一定的压缩,然后在网络的对称位置采用相同步长的反卷积进行图像恢复。由于上采样过程会丢失部分语义特征,于是将同一水平位置的特征图进行叠加,以恢复部分语义信息,由此提高分割的精度。在图像压缩领域,U-Net 也受到了广泛的关注。输入一幅图像,进行下采样编码,得到一串比原先图像更小的特征,相当于对图像进行了压缩,然后经过解码,理想的状态是能恢复到原来的图像。U-Net 在生物医学影像分割的实际应用中也有较好的表现。下采样进行特征提取,得到图像的位置和语义信息;上采样将抽象的特征再还原解码到原图的尺寸,得到分割的结果;长连接将输入图像的信息保留,有助于还原降采样所带来的信息损失。U-Net 不仅应用广泛,其U 型结构也启发了许多后续算法的研究。

2 基于近似U型网络结构的图像去噪模型

2.1 近似U型的网络结构

图3 虚线框中的内容是本文基于原有的DnCNN 上作出改进的部分。即将深度卷积神经网络中原有的线性网络结构,修改为近似U 型的网络结构。由于其原有的网络结构均采用步长为1 的卷积层,导致在训练过程中,虽然能够获取到更多的图像信息,但也会因此造成网络的训练速度变慢。为了不漏掉原有图像的信息,同样在前4 层采用了步长为1的卷积层;而在第5 层,采用步长为2 的卷积层,让图像进行缩放,使后续网络层的输入变为较小尺寸的图像,既保证了原有的图像信息,又减小了网络中的运算负荷;相对应的,在第14 层也采用了步长为2 的反卷积层以恢复图像到原有的尺寸,使网络整体呈现出一个近似U 型的对称结构。这样的结构可以在保证图像原有信息不丢失的情况下,缩短网络训练的时长;并且通过不同步长的卷积层,网络也能够从不同大小的感受野学习图像信息,从而达到更好的训练效果。

图3 近似U型的网络结构Fig.3 Approximate U-shaped network structure

2.2 引入反卷积

卷积神经网络普遍用于提取图片中的特征信息来学习,但是只采用连续的卷积很容易造成网络的过拟合,导致信息的遗漏。而在DnCNN 中,每一层都采用Conv+BN+ReLU 的结构,因此容易产生过拟合导致去噪效果不佳。于是在本文的网络结构中,引入了卷积层和反卷积层相结合的方式:一方面利用卷积神经网络良好的特征学习能力进行初步的图像特征学习;另一方面利用反卷积神经网络强大的恢复能力进行图像的复原,使复原后的图像在细节方面的表现更好。由于反卷积的上采样操作使图像的信息得到了恢复和放大,使网络进一步学习到图像的潜在细节特征。因此在近似U型的网络结构中,本文在不同尺寸输入图像的处理过程中都采用了卷积与反卷积相结合的方式,使得整个网络的学习效率进一步提高。

2.3 叠加图像信息

由于采用了近似U 型的网络结构,本文参考了U-Net 中为了消除上采样造成部分特征丢失所进行的叠加操作。在近似U 型结构中,只有处于同一水平下的图像尺寸相同,能够进行叠加。如图3 所示,将第4 层进行反卷积处理后的输出图像与第15 层的输出图像进行了叠加,第9 层和第10 层的输出图像也进行了叠加。通过图像的叠加,可以将前面网络中的特征信息传递到后续的网络中,使去噪的精度得到进一步的提升。

近似U 型网络结构的设计提升了网络整体的训练速度并且从多个尺寸的图像获取到了信息,而反卷积和叠加操作也尽可能多地保留了图像的细节信息。两者结合使本文的近似U 型网络结构的图像去噪模型在速度与精度两个方面均不输于当前去噪领域的其他算法。

3 实验与结果分析

3.1 数据与参数设置

训练和测试数据:对于未知噪声水平的高斯去噪,使用了400 幅大小为180×180 的灰度图进行训练。为了训练用于高斯去噪的网络模型,设置了三个噪声水平,即σ=15,25,50。并将每个patch 的大小设置为30×30,裁剪了128×3 466 个patch 来训练模型。为了测试本文的训练网络,在图像去噪领域应用较为广泛的两个测试集上与其他算法进行对比。一个是来自伯克利分割数据集(Berkeley Segmentation Dataset 68,BSD68)[9]的68 幅自然图像的测试数据集,另一个是来自Set12 数据集[9]的12 幅灰度图像。这些图像都只用于评估高斯去噪方法,并不包括在训练数据集中。

网络结构和参数:本文训练模型所采用的优化器为Adam,初始学习率设置为0.001,迭代周期为50,在每迭代10 个周期后,学习率减少至原来的1/10。本文模型采用改进后的DnCNN 模型作为生成器,输入的图片采用30×30 的样本块,模型的深度修改为20 层,其中第1 层采用的是Conv+ReLU 的结构,2 至10 层采用的是Conv+BN+ReLU 的结构,11至19 层采用的是Deconv+BN+ReLU 的结构,最后在20 层进行Conv 的全卷积并采用了残差学习策略以输出干净的图像。整个结构中的网络层中均采用3×3 的卷积核,卷积核数均为64,在第6、16 层采用的卷积步长为2,其余层的步长均为1。本文使用的激活函数ReLU 均采用默认参数,且利用图像质量评价指标峰值信噪比(PSNR)进行不同算法之间的去噪效果对比。PSNR 为图像的峰值信噪比,常用作图像压缩去噪等领域中信号重建质量的检测方法,它通过均方差(Mean Square Error,MSE)进行定义。例如两个m×n的单色图像I和K,它们的均方差PMSE定义为:

峰值信噪比IPSNR为:

其中:MAXI表示图像点颜色的最大数值,即如果每个采样点用n=8 位表示,那么MAXI=28-1=255。

本文使用Windows 10 系统,基于PyCharm 的Python3.6加tensorflow1.12 的软件环境,运行在一台搭载Intel Core i7-9700F CPU @ 3.00 GHz 处理器和NVIDIA GeForce RTX 2060 SUPER 显卡的PC 上。使用GPU 进行网络训练时间为4 752 s。

3.2 实验结果与分析

将本文提出的模型与几种较为先进的去噪算法进行了比较,包括两种基于非局部相似性的算法,即BM3D 算法和WNNM 算法;一种生成算法,即期望块对数似然估计(Expected Patch Log Likelihood,EPLL)算法[16];三种基于判别训练的算法,即多层感知机(MultiLayer Perceptron,MLP[17])算法、CSF[18]算法、TNRD[19]算法和DnCNN-B 模型。并且均使用目前发布的基于同样测试集的最优实验结果与本文的实验结果进行对比。

不同算法在BSD68 数据集上的平均PSNR 结果如表1 所示。可以看到,本文模型在三种不同的噪声下均获得比其他算法更好的PSNR 结果。与其他算法相比,本文模型能得到0.04 dB~0.66 dB 的提升。特别是在σ=15 的情况下,本文模型的PSNR 相较于对比模型提升得更多。

表1 不同模型在BSD68数据集上的峰值信噪比对比 单位:dBTab.1 PSNR comparison of different models on BSD68 dataset unit:dB

表2~4 分别列出了噪声水平在15、25、50 时不同算法对于Set12 中的12 幅测试图像的PSNR 结果。每个图像和每个噪声级别最佳的PSNR 结果以粗体突出显示。可以看出,在大多数图像上,本文模型均能获得最高PSNR,但是在重复结构占主导地位的两个图像“House”和“Barbara”上未能达到最佳效果。因为基于非局部相似性的算法通常在规则和重复的结构图像上表现更好,而基于辨别训练的算法通常在不规则纹理图像上表现更好。从12 幅图像的平均PSNR 上看,本文模型还是领先于所有对比算法0.0 dB~0.78 dB,并且在低噪声的情况下,本文模型表现更加突出。

表2 Set12数据集中每幅图片的峰值信噪比对比(σ=15) 单位:dBTab.2 PSNR comparison of each picture in Set12 dataset(σ=15) unit:dB

为了进一步分析本文模型与DnCNN 模型在更多噪声强度下对图像的去噪效果,表5 列出了本文与DnCNN 模型在10~50 噪声强度下的去噪情况,并记录了每增强5 噪声强度时,基于Set12 测试集的平均PSNR 和对应差值。由表5 的前2~3 列数据分析可知,本文模型与DnCNN 均在噪声强度依次增强时去噪效果减弱,这是普遍存在的正常现象。因为噪声的强度与去噪效果存在反比关系。但是横向对比来看,在任意噪声强度下,本文模型均能够取得比DnCNN 模型更高的PSNR 值,这说明本文模型在不同的噪声强度下仍保证了一定程度的鲁棒性。

表3 Set12数据集中每幅图片的峰值信噪比对比(σ=25) 单位:dBTab.3 PSNR comparison of each picture in Set12 dataset(σ=25) unit:dB

表4 Set12数据集中每幅图片的峰值信噪比对比(σ=50) 单位:dBTab.4 PSNR comparison of each picture in Set12 dataset(σ=50) unit:dB

由表5 的第3 列数据可以看出,本文模型在低噪声值时的去噪效果与DnCNN 模型的差值较大,而在噪声逐步增强时,两者效果越来越趋近。这是因为在低噪声的情况下,图像能够展示出更多的细节特征,由于本文模型在细节的处理与学习上比DnCNN 更好,所以获取到了较好的结果。而在噪声逐步增强的过程中,原图像的细节信息逐步被噪声所模糊,神经网络所能学习到的特征也会有所减弱,导致不同神经网络模型所学习到的特征有限,无法产生大的差距。这也是由现实情况所决定的,人眼是无法从高噪声图像中获取到图像的具体内容。在噪声添加达到一定的阈值之后,整张图片就会显示出花白,从而无法辨认出图像的原本特征。但是整体上可以看出,本文模型在任意的噪声强度下,相较于DnCNN 在去噪效果上都有一定的提升。

表5 Set12数据集上不同噪声强度下本文模型与DnCNN模型对比Tab.5 Comparison of the proposed model and DnCNN model under different noise intensities on Set12 dataset

表6 中分别记录了在采用2 步长的网络结构下与采用1步长的网络结构下的峰值信噪比和训练时长。从表6 中可以看出,在采用了2 步长对图像的大小进行了处理后,不仅可以将训练时长缩短至原来的一半左右,还在峰值信噪比上获得了一定的提升,这是由于单一的网络结构容易造成深度神经网络的过拟合导致峰值信噪比的降低,而采用不同步长的卷积方式则可以很好地避免这个问题。

表6 Set12数据集上不同步长网络峰值信噪比与训练时长对比Tab.6 Comparison of PSNR and training time for networks with different strides on Set12 dataset

图4~6 是σ=25 时原图像、噪声图、本文模型去噪图与DnCNN 去噪图的横向对比。为了进一步地观察图像中的细节部分,将绿框标识出的区域进行了3 倍放大并用红框圈出。从图4 可以很明显地观察到,在图像直线部分的去噪中,本文模型在细节的保留上比DnCNN 要做得更好。图5 则展示出了本文模型在图像字体去噪中的卓越表现,显然本文去噪后图像的字体仍然是清晰可见的,而DnCNN 中的字体则已经模糊不清了。在曲线去噪的部分,从图6 可以看出,本文模型去噪后的曲线显得更加的平滑和均匀,且更接近原图的轮廓。从这些图像去噪效果的直接比较中可以发现,本文模型不仅可以恢复出原图像清晰的边缘和精细的细节,还可以在各种区域上产生比DnCNN 更好的视觉结果。

图4 DnCNN与本文模型去噪后的局部对比图(Monar)Fig.4 Local comparison diagram of DnCNN and the proposed model after denoising(Monar)

图5 DnCNN与本文模型去噪后的局部对比图(Airpl)Fig.5 Local comparison diagram of DnCNN and the proposed model after denoising(Airpl)

图6 DnCNN与本文模型去噪后的局部对比图(Parrot)Fig.6 Local comparison diagram of DnCNN and the proposed model after denoising(Parrot)

图7 是基于Set12 数据集σ=25 时的平均PSNR 随迭代次数变化的折线图。一共迭代了50 次且每2 代进行一次记录。从图7 可以很明显地看出:本文模型在前期的收敛趋势和DnCNN 相似,但是当迭代周期达到18 时候,本文模型已经趋于稳定,此时的平均PSNR 为30.46 dB;DnCNN 在第30 周期及以后仍存在不稳定的趋势。从单个周期的训练时长上看,本文模型在一个周期内所花费的时长大概为264 s,要略高于DnCNN 的161 s。但从总的训练时长上看,本文模型总时长为4 752 s,而DnCNN 模型则为8 050 s。这样计算出,本文所花费的总训练时长比DnCNN 模型缩短了约41%。由上述分析可以得到,本文模型在保证收敛速度的同时,进一步提高了去噪的精度。

图7 DnCNN与本文模型训练收敛速度对比图(σ=25)Fig.7 Comparison diagram of training convergence speed between DnCNN and the proposed model(σ=25)

表7 为本文模型和其他几种算法在Set12 测试集上处理图像的用时比较。由于本文模型与DnCNN 均为基于深度学习的模型,在运行前已经预先将模型训练完成,所以在运行时间上还是占有相当大的优势。

表7 各模型执行时间对比单位:sTab.7 Comparison of execution time of each model unit:s

4 结语

本文基于去噪卷积神经网络(DnCNN)模型提出了一种基于近似U 型网络结构的图像去噪模型。该模型采用残差学习以分离干净图像与噪声,利用不同步长的卷积层进行图像的卷积与反卷积,构建出了一种近似U 型的网络结构,并在不同大小感受野下采用了信息叠加操作。本文提出的模型不仅缩短了网络的训练时长,还提高了网络的去噪性能。但目前此模型仍存在部分局限性,只能用于处理添加了高斯白噪声的图像,未来将对模型进行改进并尝试将其应用于真实场景下的去噪。

猜你喜欢
网络结构步长卷积
基于Armijo搜索步长的BFGS与DFP拟牛顿法的比较研究
一种基于卷积神经网络的地磁基准图构建方法
基于3D-Winograd的快速卷积算法设计及FPGA实现
一种并行不对称空洞卷积模块①
一种改进的变步长LMS自适应滤波算法
基于变步长梯形求积法的Volterra积分方程数值解
基于AutoML的保护区物种识别①
董事长发开脱声明,无助消除步长困境
从滤波器理解卷积
带通信配网故障指示器故障监测方法及安装分析