加权密集扩张卷积网络的随机脉冲噪声去除
2023-09-25曹义亲符杨逸饶哲初
曹义亲,符杨逸,饶哲初
华东交通大学软件学院,南昌330013
在计算机视觉领域,由于图像传感器往往在恶劣的环境下运行,采集到的图像的质量不佳,加之传输过程中的错误和干扰,给后续图像处理工作带来极大的困难,因此,图像增强和图像去噪就成为图像处理过程中非常重要的组成部分[1-2]。脉冲噪声是由于电信号的不稳定性、物理内存存储的损坏、数据传输中系统错误、电磁干扰、相机传感器的故障或老化以及光照条件较差而产生的[1,3-5],会显著降低图像质量。脉冲噪声可以分为两大类[6]:椒盐噪声(salt-pepper noise,SPN)[7]和随机脉冲噪声(random-valued impulse noise,RVIN)[8]。RVIN噪声像素点的亮度值可以是图像像素点亮度值所允许范围内的任意值,该值与其领域内像素点的亮度值往往相差不大,很难进行区分,因此,RVIN 噪声的去除更具有挑战性[9-11]。
去除脉冲噪声传统上采用中值滤波算法,通过对噪声像素的邻域像素值进行排序,取中间值替换噪声像素值,但它缺乏图像边缘保持能力。加权中值滤波算法[12]是对中值滤波算法的改进,它为了增强图像边缘保持能力,以不同的加权系数体现邻域像素之间的相关性和影响。这些算法存在的问题在于统一处理噪声像素与非噪声像素。文献[13]提出开关滤波算法,先对噪声像素进行检测,再替换检测到的噪声像素。Malinski 等[14]提出一种快速自适应的开关滤波算法,它不仅能有效地保留非噪声像素,还能提高滤波效率。
近年来,随着深度学习的不断发展,卷积神经网络(convolutional neural network,CNN)被应用于图像去噪并取得了非常好的效果。Zhang等[15]提出去噪卷积神经网络DnCNN(denoising convolutional neural network),它证明了通过残差学习和批量归一化有助于提高去噪性能。然而,DnCNN 只是针对在某一特定噪声水平下的模型,对于不同的噪声水平,需要多个不同的去噪网络。针对这一问题,文献[16]提出FFDNet(fast and flexible denoising convolutional neural network),将噪声图像与噪声水平图拼接作为网络输入以此来处理更加复杂的噪声,例如不同噪声水平的噪声和空间变化噪声,并且噪声水平图可以作为权重权衡对噪声的抑制和细节的保持。当噪声的估计水平与实际值不匹配时,FFDNet的去噪效果表现并不理想。为克服这一缺陷,CBDNet(convolutional blind denoising network)[17]提出非对称损失函数,当估计噪声水平低于实际噪声水平时引入更多的惩罚,以此来提升算法的去噪性能。上述方法主要用于去除高斯噪声,但将训练的输入图像换成受脉冲噪声污染的图像,也可用于处理脉冲噪声。Jin 等[18]和Zhang 等[19]分别使用CNN 处理椒盐噪声,Radlak 等[20]将开关滤波器与DnCNN 相结合提出IDCNN(impulse detection convolutional neural network)用于去除随机脉冲噪声。Zhao等[21]利用通道注意力机制,自适应地对特征通道进行加权来提取噪声信息。Tian等[22]提出ADNet(attention-guided denoising convolutional neural network),通过利用注意力机制来深度挖掘复杂背景中的噪声信息。
尽管现有方法有效地提高了算法的去噪性能,但大多数方法中通道的合并都是直接在通道维度上对特征图进行拼接,并没有考虑到浅层与深层卷积特征各自的重要性。在卷积神经网络中,浅层卷积特征保留着丰富的图像边缘和纹理信息,但随着网络层数的增加,提取的深层卷积特征会丢失大量的浅层特征信息,导致算法对于图像结构的还原能力较差。本文针对上述问题,受Yu 等[23]、Li 等[24]和跳跃连接[25]的启发,设计加权密集连接网络,对密集连接块中各层级特征赋予不同的权重,并结合扩张卷积增加网络的感受野,提升网络的表达能力,指导网络更好地去除随机脉冲噪声。
1 相关工作
1.1 扩张卷积
感受野是卷积神经网络每一层输出的特征图上的像素点在输入图像上映射的区域大小。为了获取更多的图像信息,一种非常有效的方法,就是扩大感受野。一般有两种方法扩大感受野,第一种是增加网络的深度或宽度,而随着网络层数的增加,训练也会变得更加困难;第二种方法是通过提高模型的复杂度,这涉及到大量的参数。为此,文献[26]提出扩张卷积。扩张卷积与普通卷积相比,尽管它们的卷积核大小是一样的,但扩张卷积还有一个扩张因子参数,主要用来表示扩张的大小。扩张卷积的示意图如图1所示。一般情况下,扩张卷积的感受野大小遵循公式(1):
图1 扩张卷积原理图Fig.1 Schematic diagram of dilated convolution
式中,K代表扩张后的感受野大小,d代表扩张因子,k代表原始卷积核大小。
图1(a)表示为卷积核大小3×3、扩张因子为1 的扩张卷积,它的感受野大小3×3,与普通卷积相同。(b)表示为卷积核大小3×3、扩张因子为2的扩张卷积,它的感受野大小5×5。(c)表示为卷积核大小3×3、扩张因子为3的扩张卷积,它的感受野大小7×7。扩张卷积能够在不增加参数的情况下增大感受野。
1.2 密集连接
在深度学习中,随着网络层数的加深,梯度消失问题会更加明显。Huang 等[27]提出密集连接卷积网络DenseNet,在图像分类上取得了很大的成功。DenseNet并不是从加深网络层数和加宽网络结构来提升网络性能,而是从特征的角度考虑,通过特征重用和旁路设置,既大幅度减少了网络的参数量,又在一定程度上缓解了梯度消失问题。其中的模块为密集块,结构如图2 所示,每一层的输入不仅与前一层的输出有关,还与之前所有层的输出有关,其连接公式表示为:
图2 密集块结构示意图Fig.2 Schematic diagram of dense block structure
式中,[]代表对通道的拼接,X0,X1,…,Xl-1代表之前所有层的特征图。图2 中Tansition Layer 表示过渡层,它放在两个密集块之间,目的是减少特征图的数量。
2 网络结构
2.1 设计思路
本文提出的网络结构,由背景信息块(context information block,CIB)、四个加权密集扩张卷积连接块(weighted dense dilated convolution block,WDDB)和特征融合块(feature fusion block,FFB)组成,如图3 所示。多尺度信息对于图像去噪任务十分重要,为了扩大感受野和获取多尺度信息,本文提出了CIB。CIB 使用不同扩张因子的扩张卷积,它能在不损坏结构和增加参数的情况下扩大感受野,然后将不同感受野提取出来的特征进行融合。为了加强特征的传递,本文设计了四个基于扩张卷积的密集连接块来提取更多的细节纹理和其他特征。尽管密集连接能够有效的利用特征,但随着网络层数的加深,浅层特征会退化,而浅层特征携带许多图像细节信息,因此,在经过四个密集扩张卷积连接块后,通过跳跃连接将每个密集扩张卷积连接块提取出的特征进行特征融合,不仅能将浅层卷积特征带到深层卷积特征中,提升去噪性能,还能加快网络的训练速度。
图3 本文网络结构示意图Fig.3 Architecture of proposed network
卷积神经网络从浅层到深层的过程中,先是提取浅层卷积特征,浅层卷积特征包含图像的局部特征细节信息和边缘信息,随着网络层数的加深,网络渐渐提取深层卷积特征,图像的细节信息会在深层卷积特征中丢失,深层卷积特征包含图像的全局语义信息。本文采用加权密集扩张卷积连接结构,其中运用了多重扩张卷积,多重扩张卷积的一个优点是它能够在单层内将由小扩张因子获得的信息整合至大扩张因子获得的信息中,再通过结合密集跳跃连接能够在所有层进行多分辨率建模。这种具有密集跳跃连接的快速信息流,以及各种分辨率之间密集的信息交换,提供了更灵活的建模局部和全局结构之间关系的能力。在密集跳跃连接时,为每个特征通道加入权重,通过学习的方式来自动获取到每个特征通道的重要程度,加权强化重要信息,弱化抑制无关的不重要信息。
由于本文网络结构较深,而跳跃连接能够训练深的神经网络,因此本文引入它。Li等[28]对复杂的损失表面进行了可视化,其结果如图4 所示。图4 展示了有跳跃连接和无跳跃连接的ResNet-56 的损失表面,可以看出具有跳跃连接的神经网络的损失表面更平滑,因此比没有任何跳跃连接的网络收敛速度更快。
图4 有无跳跃连接的区别Fig.4 Difference between skip connections and without skip connections
2.2 网络结构
本文提出的网络结构有34 层,如图3 所示。假设IN、IC分别代表输入的噪声图像和预测的干净图像。CIB可以用公式表示为:
式中,fCIB表示CIB的功能,OCIB为CIB的输出。WDDBs可以定义为:
式中,fFFB表示为FFB的功能,即结合局部特征和全局特征,[]表示将进行通道拼接,IC表示为预测的干净图像。
2.3 背景信息块
为了丰富浅层特征图的多尺度特征信息,本文设计CIB模块,因为浅层特征图携带许多图像的细节特征信息。CIB 一共三层,有Conv、Dilated Conv+ReLU 两种类型。第一层Conv,使用卷积核大小为1×1×32生成32个特征图,第二层分别使用扩张因子为1、2、3、4的扩张卷积得到特征图,通过Concat 层将特征图进行通道拼接,第三层为Conv 和跳跃连接,通过Conv 将特征信息进行融合,得到的输出再与输入的噪声图像进行跳跃加和连接,其结构如图3中的CIB所示。
2.4 加权密集扩张卷积连接块
为了加强特征的传递和有效利用特征,设计四个加权密集扩张卷积连接块,如图5所示。每个块中包含了三种不同的模块,第一个模块由ReLU激活函数和扩张因子为1 的扩张卷积组成,第二个模块由ReLU 激活函数和扩张因子分别为1、2的扩张卷积组成,第三个模块由ReLU激活函数和扩张因子分别为1、2、4的扩张卷积组成,然后再通过密集连接方式进行连接。这样设计的目的是避免出现棋盘效应。在密集扩张卷积连接块中,每一层的输入都来自前面所有层的输出,即对输出的特征图进行通道合并,而不做其他操作。因此,为每个密集连接上加入权重,能够自适应地计算每张特征图重要性权重,增强图像信息的特征表达,权重计算方法如图6所示。首先,为了将信息聚合,输入特征图分别经过最大池化层和平均池化层得到两个特征向量,两个特征向量通过相同的两个FC 层和ReLU 激活函数,将输出结果相加,然后经过sigmoid 激活函数得到每张特征图的权重,最后将输入特征图与权重逐通道相乘得到表达能力更强的特征图。
图5 加权密集扩张卷积块示意图Fig.5 Schematic diagram of weighted dense dilated convolutional block
图6 权重示意图Fig.6 Schematic diagram of weighted
2.5 特征融合块
随着网络层数的加深,卷积神经网络逐渐地提取深层卷积特征,深层卷积特征包含更多的是图像的语义信息,但图像的细节信息不足。为了解决这一问题,本文设计了特征融合块,它由Concat层和三个Conv层组成,Concat 层将CIB 和四个加权密集扩张卷积块提取的特征图进行通道拼接,再通过Conv 层融合浅层卷积特征和深层卷积特征,形成信息的互补,有利于提升去噪性能,最后经过两层Conv得到去噪后的图像。
2.6 损失函数
本文实验采用均方误差(mean square error,MSE)进行训练。损失函数表达式如下:
式中,IN为噪声图像,IC为干净图像,f( )IN为预测的干净图像,N为每个训练轮次输入的样本数,θ为整个模型的参数。
3 实验及结果分析
3.1 实验平台及参数设置
本文实验的框架为Pytorch[29],操作系统为Windows10,CPU 为Inter Core i7-10700F,GPU 为NVIDIA GeForce RTX 3060,运行内存为12 GB,选取的优化器为ADAM optimizer[30](其中β1=0.9、β2=0.999、epsilon=1E-8),其学习率设置参考文献[22],分别设置为1E-3(1~30 epoch)、1E-4(31~60 epoch)、1E-5(61~120 epoch),批处理大小为64。整个训练过程使用NVIDA CUDA 11.2+cuDNN-v8.2进行加速。
3.2 实验数据集
本文选择Berkeley Segmentation Dataset(BSD500)[31]作为训练集,并将其中与CBSD68[32]数据集中相同的图像删除,在剩余的图像中随机选取400 张大小为481×321的图像作为训练集,其余32张图像作为验证集。图像中不同区域包含不同的信息[33],受此启发,本文对图像进行裁剪,其裁剪窗口大小为40×40,另外,实验对每张图像进行了随机旋转,旋转角度分别为90°、180°、270°。
针对随机脉冲噪声图像去噪,本文选择CBSD68、Kodak24[34]、McMaster[35]和PolyU[36]四个数据集作为实验的测试集,其中CBSD68数据集是BSD68数据集的彩色版本,Kodak24主要是室外场景图像的数据集,McMaster数据集是被广泛使用在去除马赛克的数据集,PolyU数据集为真实世界数据集。
3.3 噪声模型和评价指标
实验过程中,使用的脉冲噪声模型如式(8)所示:
式中,ρ表示图像受噪声污染的概率,zi表示0~255 中的任意随机值所替换的像素值,xi表示未被污染的像素值。本文使用峰值信噪比(PSNR)和特征相似度(FSIMc)[37]作为评价指标来评估去噪效果。PSNR量化评价了图像视觉效果,FSIMc利用特征相似性进行图像质量评价。
3.4 实验结果与分析
3.4.1 与不同算法的对比实验
针对随机脉冲噪声图像去噪,选取以下具有代表性的算法:VMF[38]、RSVMF[39]、FPGFvmF[40]、EDSVMF[41]、L0TV[42]、AWQD[43]、QBSF[44]、DnCNN[15]、FFDNet[16]、ADNet[22]、DeQCANet[45]与本文算法进行比较。其中VMF、RSVMF、FPGFvmf、EDSVMF、L0TV、QBSF 和AWQD 为传统算法,DnCNN、FFDNet、ADNet和DeQCANet为深度学习算法,其参数设置与本文保持一致,传统算法在Windows 10系统中的MatlabR2020a环境下运行。
表1~表4 分别展示了当随机脉冲噪声等级为0.15、0.25、0.35、0.50、0.75和0.85时,在数据集CBSD68、McMaster、Kodak24 和PolyU 上不同方法的平均PSNR值和FSIMc 值。从表中的结果可以看出,在传统方法中,VMF、RSVMF、FPGFvmf、EDSVMF 随着噪声密度的增加,算法的去噪性能迅速下降,这是因为噪声密度较大时,用于噪声复原的滤波窗口内的大部分像素可能都是噪声,导致得到的矢量中值也是噪声;在噪声等级为0.15 和0.25 时,L0TV 获得的结果受噪声等级的大小的影响较小,原因是L0TV为基于数据保真度的正则化模型;在噪声等级小于等于0.5 时,AWQD 能够获得较好的PSNR 和FSIMc 值。而深度学习方法(DnCNN、FFDNet、ADNet、DeQCANet 和本文算法)与传统方法(VMF、RSVMF、FPGFvmf、EDSVMF、L0TV、AWQD 和QBSF)相比,在各噪声等级均具有更高的PSNR和FSIMc值,这说明在图像去噪领域卷积神经网络比传统去噪方法拥有更好的去噪性能。本文提出的算法能够获得较大的PSNR和FSIMc值,这说明本文算法在噪声抑制和信息保真这方面能够获得比其他方法更好的效果。
表1 Kodak24数据集上各类算法的实验结果Table 1 Experimental results of various algorithms on Kodak24 dataset
表2 McMaster数据集上各类算法的实验结果Table 2 Experimental results of various algorithms on McMaster dataset
表3 CBSD68数据集上各类算法的实验结果Table 3 Experimental results of various algorithms on CBSD68 dataset
另外,本文展示了不同算法对四幅图像的去噪结果,如图7~图10所示。图像分别选自CBSD68、McMaster、PolyU 和Kodak24 数据集,噪声等级分别为0.15、0.25、0.35 和0.50。噪声等级为0.15 时,从图7 可以看出虽然VMF、L0TV、FPGFvmf和EDSVMF去噪效果好,但是人的头部变得模糊,其图像的细节与纹理均丢失了。图8和图9 中发现经ADNet 处理的图像会出现颜色伪影。图9 和图10 给出在中度噪声污染和高度噪声污染情况下各种算法的去噪结果,可以看出深度学习算法(DnCNN、FFDNet、ADNet、和DeQCANet)的优势,它们能在有效去除噪声的同时保留图像的边缘、纹理细节等,而其他传统方法中RSVMF、QBSF 不能充分地去除噪声,L0TV、EDSMF 得到的图像过于平滑,其图像边缘、纹理和细节被严重破坏,本文算法能更好地去除噪声的同时保留图像的边缘和纹理等细节特征,这是因为本文首先丰富了浅层特征图多尺度特征信息,浅层特征包含图像的局部特征细节信息和边缘信息,再通过给不同特征通道加权,加强图像的重要信息,弱化不重要信息,同时通过密集跳跃连接减少卷积过程中的语义与细节信息损失。本文算法得到的四幅图像在质量和视觉效果上比其他算法都更为出色,能够很好地实现随机脉冲噪声图像去噪。
图7 噪声等级为0.15时,不同算法的去噪结果图Fig.7 Denoised results by various methods with 0.15 impulse noise
图8 噪声等级为0.25时,不同算法的去噪结果图Fig.8 Denoised results by various methods with 0.25 impulse noise
图9 噪声等级为0.35时,不同算法的去噪结果图Fig.9 Denoised results by various methods with 0.35 impulse noise
图10 噪声等级0.5时,不同算法的去噪结果图Fig.10 Denoised results by various methods with 0.5 impulse noise
本文所针对的噪声是随机脉冲噪声,在训练时换成高斯噪声的图像,也能够对高斯噪声进行去除。
3.4.2 加权密集扩张卷积块数量的影响
考虑到加权密集扩张卷积块(WDDB)的数量对去噪效果的影响,为了得到WDDB的最佳数量,本文分别设计了包含2、3、4、5和6个WDDB的去噪网络,实验训练设置相同,选择Kodak24、McMaster、CBSD68 作为测试集,PSNR 和FSIMc 值评估去噪性能。实验结果如表5 所示,在Kodak24 和CBSD68 数据集中,当WDDB的数量为4 时,PSNR 和FSIMc 值达到了最佳,而在McMaster 数据集中,WDDB 的数量为6 时,PSNR 和FSIMc值达到了最佳,相比WDDB数量为4时,PSNR值只增加了0.06 dB,但随着WDDB数量的增加,网络的计算量会增加,耗时随之增加,因此,本文选择包含4 个WDDB的去噪网络。
表5 加权密集扩张卷积块数量的实验结果Table 5 Experimental results on weighted dense dilated convolutional block numbers
3.4.3 不同扩张因子取值及其组合策略
为了得到扩张因子取值的最佳组合,本文设计了五种组合。组合1的扩张因子分别为1、2、3、4,组合2的扩张因子分别为1、2、3、5,组合3 的扩张因子分别为1、2、3、6,组合4的扩张因子分别为2、3、4、5,组合5的扩张因子分别为3、4、5、6。选择Kodak24、McMaster、CBSD68作为测试集,PSNR 和FSIMc 值评估去噪性能。实验结果如表6所示。从表6可以看出在四个数据集上组合1获得了最佳的PSNR 和FSIMc 值,相比于其他组合,在数据集Kodak24 上其PSNR 值提高了0.33~0.69 dB,FSIMc 值提升了0.003;在数据集McMaster 上其PSNR值提高了0.5~1.92 dB,FSIMc 值提升了0.002~0.004;在数据集CBSD68上其PSNR值提高了0.15~0.36 dB,FSIMc值提升了0.008;在数据集PolyU 上其PSNR 值提高了1.04~3.05 dB。因此,本文最终选择组合1。
表6 不同扩张因子取值组合的实验结果Table 6 Experimental results of combinations of different expansion factors
3.4.4 参数与耗时情况
选择深度学习算法与本文算法进行实验对比,在网络参数方面,网络输入为3通道的500×500的图片,整个网络的参数量和计算复杂度如表7 所示。在运行时间方面,采用相同的环境对大小为500×500的噪声图像进行去噪。运行时间对比结果如表7所示。
表7 不同去噪算法的参数与耗时比较Table 7 Parameters and time comparisons of different denoising algorithms
实验结果表明,在运行时间方面,DnCNN的耗时最短,与DnCNN、ADNet 和DeQCANet 相比,本文算法耗时增长,在网络参数与计算量上,由于本文的网络结构较深,导致算法的参数和计算量相应增加。但本文算法相较于其他算法有更好的去噪性能,而且在这样的基础下,本文算法的运行时间相对其他算法只增加了约0.01 s,说明本文算法与其他深度学习算法相比仍具有一定的优势。
3.5 消融实验
为了验证本文提出的加权密集扩张卷积连接网络对脉冲噪声去除是否具有改善效果,本文分别设计了密集普通卷积连接网络、密集扩张卷积连接网络以及本文提出的网络。上述前两个网络的实验训练设置与本文提出的方法相同,并将CBSD68、McMaster、Kodak24 数据集作为测试集,以PSNR 和FSIMc 值评估去噪性能。表8给出了三个网络在测试集上的PSNR和FSIMc的平均值。
表8 Kodak24、McMaster、CBSD68数据集上消融实验的结果Table 8 Experimental results of different modules on Kodak24,McMaster and CBSD68 dataset
根据表8 中的结果可以得出,在噪声等级分别为0.15、0.25、0.35 和0.50 时,本文算法在三个测试集上的PSNR和FSIMc值都取得了最高值,与普通卷积相比,本文方法的PSNR值提高了0.2~1.36 dB;与使用扩张卷积相比,PSNR 值提高了0.1~0.68 dB;使用扩张卷积与普通卷积相比,PSNR 值提高了0.02~0.68 dB,说明使用扩张卷积对模型去噪性能也有一定的提升。
图11给出了在噪声等级为0.5时,普通卷积与扩张卷积的去噪结果图。从图中可以看出,普通卷积在对字母B的恢复丢失了边缘细节信息,而扩张卷积对字母B的恢复强于普通卷积,这说明了结合扩张卷积能够提升网络的表达能力。
图11 普通卷积与扩张卷积的去噪结果图Fig.11 Denoised results of convolution and dilated convolution
为了了解本文网络学习到的不同特征通道的权重,使用grad-cam[46]方法来直观展示特征通道加权在突出特征方面的作用,其对比结果如图12 所示。图中热力图的分布区域体现了对图片的关注度,图12(b2)相比于图12(a2),其热力图的分布区域有明显的集中,关注度的范围也更加集中;图12(b3)相比于图12(a3),其热力图的亮度有着明显的变化,关注度高的区域和其他区域区别明显。两种热力图的变化都根据权重强化了图片的重要信息,弱化抑制相对次要的信息。
图12 扩张卷积和加权扩张卷积结果热力图对比Fig.12 Comparison of heat maps of dilated convolution and weighted dilated convolution
实验结果验证了加权密集连接的有效性,以及本文算法对随机值脉冲噪声去除具有明显改善效果。
4 结语
为了更好地去除随机脉冲噪声,本文结合密集连接和扩张卷积的优点,提出一种加权密集扩张卷积连接的去噪网络模型。该模型能够充分地利用不同层次的特征,保留图像细节信息,并在密集连接时,通过对不同特征通道加权,反映浅层与深层卷积特征的重要性,增强重要特征信息的表达能力,充分挖掘特征信息。实验结果表明,所提模型能够有效地提高图像随机脉冲噪声的去除效果。但是新网络模型较相关模型去噪耗时有所增加,未来的工作将继续探索在进一步提升去噪效果的同时,减少网络深度,降低耗时。