双层卷积神经网络去噪模块驱动的图像去模糊方法

2022-07-26 06:21吴菁菁马敬柠朱永贵
关键词:双层卷积噪声

吴菁菁,马敬柠,朱永贵

(中国传媒大学 数据科学与智能媒体学院,北京 100024)

图像复原旨在从退化图像y 恢复干净图像x,其数学模型可表示为

其中:A 为退化矩阵;n 为加性噪声,如图1 所示。

图1 图像退化模型示意图Fig.1 Image degradation model

如果A 是单位矩阵,那么图像复原就是图像去噪;A 是模糊矩阵,那么图像复原就是带有噪声信息的去模糊问题。本文研究存在噪声信息时的去模糊问题。

目前图像去模糊的方法有基于最优化模型的方法[1-3]和基于深度神经网络学习的方法[4-7]。基于最优化模型的方法为求解如下优化问题:

其中J(x)是与噪声先验信息有关的正则化项。该方法在处理含有较多非暗像素点的图像时效果较差。

基于深度卷积神经网络学习的图像复原方法主要有快速超分神经网络(fast super-resolution convolutional neural networks,FSRCNN)[8]、深度卷积超分网络(super-resolution using very deep convolutional networks,VDSR)[9]、增强深度超分(enhanced deep super-resolution,EDSR)[10]、可训练非线性扩散(trainable nonlinear reaction diffusion,TNRD)[11]、去噪卷积神经网络(denoising convolutional neural networks,DnCNN)[12]和记忆网络(memory network,Mem-Net)[13]。不同于这些方法,文献[14-15]预先训练一组深度卷积神经网络模型,将其放入基于优化的图像复原框架中,来完成不同的图像复原任务。文献[14-15]给出的方法与基于最优化模型方法相比,深度卷积神经网络集成模块在挖掘大型数据集方面具有优势,因此有较好的图像复原效果。基于自动编码器的图像复原方法[16]也利用了类似的思想,将去噪自动编码器被预先训练为自然图像的先验信息,然后提供一个基于预训练的自动编码器的正则化器。由此产生的最优化问题通过梯度下降法迭代求解。这种方法虽然具有较好的复原效果,但由于需要迭代多次求解,导致计算效率较低。近年来也提出一些新的图卷积网络主动学习方法[17-20],这些方法提高了图像复原质量,改进了图像复原性能。

基于深度卷积神经网络学习的方法通过训练数据学习映射函数,可以快速和灵活地处理含有非暗像素点的图像,可以较好地复原图像;然而由于该方法采用端到端的深度多尺度卷积网络,训练数据集小,网络特定先验信息不能够精准获取,使得特征信息没有被充分地利用,从而导致去模糊效果不佳,同时由于数据似然项没有被充分地利用,在处理不同的图像复原任务时缺乏灵活性。

为了解决上述图像去模糊效果差的问题,本文在双层卷积神经网络去噪方法[21]和深度神经网络图像超分方法[22]的基础上提出了双层卷积神经网络去噪模块驱动的图像去模糊方法。将去模糊迭代过程展开成一个前馈神经网络,通过端到端的学习,使得网络既有深度学习的高精度高运算效率,又融合了去噪先验信息。

1 相关工作

本节给出卷积神经网络去噪模块驱动的图像去模糊方法与网络。

1.1 图像去模糊方法

通过引入辅助变量,可将式(2)改写为

采用交替方向极小化(alternation direction method of multipliers,ADMM)技术将式(3)分裂成如下两个子问题:

其中,u(t)表示增广拉格朗日乘子,则

同时,采用单步梯度下降法求解x(t+1)

1.2 图像去模糊网络

算法1 对应的网络学习架构如图2 所示。

图2 用于图像去模糊的深层网络架构Fig.2 Deep network architecture for image deblurring

算法1图像去模糊算法

给出初始的x(0),对于输入的退化图像y,首先通过退化矩阵A 参数化的线性层,将x(0)输入到去噪模块和矩阵参数化的线性层,由δ1加权的去噪信号v(1)加上线性层的输出和由δ1η1加权的ATy通过短连接来获取更新后的x(1)。去噪模块结构如图3 所示。按照这样的过程重复T 次,在实验中取T=6,权重δtηt,t=1,2,…,T 就可以通过端到端的训练学习得到一个收敛的图像去模糊模块,用于测试一些模糊图像集。

图3 双层卷积神经网络结构示意图Fig.3 Structure of double layer convolution neural network

2 双层卷积神经网络去噪模块

不同于其他去噪器,本文给出的是一个双层卷积神经网络去噪方法。该网络去噪方法有两个优点:第一可以灵活地处理各种噪声水平;第二可以通过GPU 并行处理技术提高计算速度。

2.1 双层卷积神经网络结构

图3 表示的是双层卷积神经网络结构。网络的输入为一张大小为W×H×C 的随机噪声原始图像。W、H、C 分别为图像的宽度、高度和通道数。在训练的每一阶段,噪声水平在0~75 dB 之间可以随机选择,这样就可以使网络能够处理不同噪声水平的图像。

图像被复制成两个副本,分别输入到两个子网络中。顶部网络由17 层组成。第一层为“Conv +Leaky ReLU”,最后一层为“Conv”,中间层为“Conv +BRN+Leaky ReLU”。使用3×3 的卷积核得到局部特征。底部网络仍然是17 层,由“Conv+BRN +Leaky ReLU”、“扩张Conv+Leaky ReLU”和“Conv”3个不同区块组成。第1、9、16 层为“Conv+BRN+Leaky ReLU”,第2—8、10—15 层为“扩张Conv+Leaky Re LU”,最后一层为“Conv”。卷积核为3×3,扩张速率为2。顶部网络与底部网络都是4 个输出通道,通过融合级联组合成8 通道输出,再通过卷积转化为4个通道,通过上采样形成残差图像,最后通过输入噪声图像减去这部分残差得到去模糊图像。上述双层卷积神经网络去噪模块具有以下优点:1)通过普通卷积和扩张卷积的交替使用而获得多种特性;2)两个子网增加了网络的宽度,提高了去噪性能;3)BRN 解决了小的批问题,其效果比BN 更好;4)Leaky ReLU 的使用解决了ReLU 的一些缺陷;5)采用随机噪声的训练方法使网络对噪声处理更加灵活。

2.2 损失函数

本文使用的是损失函数(mean square error,MSE)

其中:θ 为参数;N 为噪声图像块的个数;yi为第i 个噪声图像块;xi为第i 个原图像块。图像的不同区域具有不同的结构信息,噪声图像块比整个噪声图像更容易用于学习特定位置的特征。

本文所用到的Adam 算法是通过最小化上述损失函数,然后对双层卷积神经网络进行优化。我们首先设定了一个学习速率,它随着训练错误的减少而减少,其中Adam 的其他参数设置为默认值。

2.3 训练数据、测试数据和其他设置

采用ImageNet 数据集中的400 张BSD 图像作为网络训练数据集,采用标准测试数据集Set10 作为网络测试数据集。训练过程中,学习率随时间从1×10-4下降到1×10-6。网络的训练与测试基于Python 3.7,其中CPU 型号为Intel(R)Xeon(R)Silver 4114,GPU 型号为NVIDIA TESLA V100。

3 消融实验

为了显示线性层初始化的效果,使用两种初始化方法来实现文中给出的网络:一种为采用退化矩阵来初始化A;另一种为采用随机方法初始化A。使用训练好的模型对数据集Set10 进行去模糊处理。表1 列出了采用两种方法初始化的去模糊后平均峰值去噪比(peak signal to noise ratio,PSNR)结果。从表1 可以看出,这两种初始化方法对图像去模糊结果相似,这表明网络对初始化参数并不敏感。

表1 两种初始化方法去模糊后的平均PSNR 值Tab.1 Average PSNR values for deblurred results via two initialization methods dB

我们还对去噪器初始化的影响进行了消融研究,使用预先训练过的去噪器和随机初始化的去噪器来实现所提出的网络。表2 给出了本文方法对图像去模糊的平均PSNR 值结果,可以看出去噪器的这两种初始化方法也能得到与表1 中相类似的结果。上述两项消融研究表明本文所提出的网络对参数的初始化不敏感。这是因为网络参数的数量是可控的,能够让每个去噪器共享相同的参数。

表2 本文方法对图像去模糊的平均PSNR 值Tab.2 Average PSNR values for deblurred results via this paper method dB

4 实验结果与分析

为了训练图像去模糊网络,首先将图像裁取成大小为120×120 的图像训练补丁,使用模糊核对它们进行卷积并生成模糊图像。在模糊图像中加入标准差σn的加性高斯噪声。采用翻转和旋转裁取后的小块扩充方法,生成45 万个小块用于训练。文中考虑了两种类型的模糊核,即标准差为1.6 的25 ×25 的高斯模糊核和两个大小分别为19×19 和17 ×17 的运动模糊核,然后针对不同的模糊设置训练每个模型。将文中提出的方法与块期望对数似然(expected patch log likelihood,EPLL)[23]、迭代解耦去模糊三维块区配(iterative decoupled deblurring BM3D,IDDBM3D)[24]、非局部中心化稀疏表示(nonlocally centralized sparse representation,NCSR)[25]、MemNet[13]、深度去噪卷积神经网络(deep denoiser convolutional neural network,DDCNN)[14]及去噪先验深度神经网络(denoising prior deep neural network,DPDNN)方法[26]等当前主流的基于模型的去模糊方法进行了比较。测试图像集是Set10,如图4 所示。该方法也可以推广用于彩色图像的去模糊,下一阶段的研究工作重点将放在彩色图像的去模糊方法研究。

图4 用于图像去模糊的测试图像Fig.4 Test images for image deblurring

采用训练好的模型对测试图像进行测试,测试结果的PSNR 值结果见表3。从表3 可以看出,本文提出的方法对每幅图像去模糊后得到的PSNR 平均值均高于EPLL、IDDBM3D、NCSR、MemNet 和DPDNN方法,说明本文所提方法的应用效果更好。

表3 采用不同方法对模糊图像进行测试得到的PSNR 值Tab.3 PSNR values tested with various methods for blurring images dB

为了进一步验证算法和网络的有效性,我们针对测试图像又计算得到各个方法的模糊图像和修复图像的平均结构相似性图像度量(structural similarity image measurement,SSIM)值,其结果如表4 所示。从表4 可以看出,本文所提的方法与其他方法相比,具有更好的去模糊性能。从主观视觉效果来看,本文提出的方法不仅产生了更清晰的边缘,而且恢复了更多的细节。图5 显示的是模糊核为19×19 的图像去模糊结果,可以看出很多细节信息已被恢复。其网络训练时对应loss 值和PSNR值及SSIM 值的变化曲线如图6 所示,说明本文给出的去模糊网络具有很好的收敛性和稳定性。

图5 模糊核为19×19 的图像去模糊结果Fig.5 The deblurring results for 19×19 blurring kernel

图6 模糊核为19×19 的图像去模糊的loss 值、PSNR 值和SSIM 值的变化Fig.6 Curves of loss,PSNR and SSIM for 19×19 blurring kernel

表4 模糊图像与修复图像的平均SSIM 值Tab.4 Average SSIM values of blurred and repaired images

5 结论

本文提出了一种双层卷积深度神经网络去噪模型驱动的图像去模糊方法。通过扩张卷积网络来增加网络的宽度增强去噪网络的学习能力;采用批再归一化,解决小批量问题,通过Leaky ReLU 方法克服ReLU 缺陷;采用随机噪声的选取增加网络处理噪声的灵活性。通过端到端的训练,将去噪模块和BP 模块同时优化,使图像去模糊取得更好的效果。实验结果表明本文提出方法的图像复原效果优于其他主流的图像去模糊方法。

猜你喜欢
双层卷积噪声
基于全卷积神经网络的猪背膘厚快速准确测定
“白噪声”助眠,是科学还是忽悠?
玫瑰小蛋糕
基于图像处理与卷积神经网络的零件识别
一种基于卷积神经网络的地磁基准图构建方法
基于3D-Winograd的快速卷积算法设计及FPGA实现
基于声类比的仿生圆柱壳流噪声特性研究
还钱
“双层巴士”开动啦
倾斜(历史老照片)