陈清江,石小涵,柴昱洲
(1.西安建筑科技大学 理学院,陕西 西安 710055; 2.空间电子信息技术研究院,陕西 西安 710000)
图像去噪是指从被噪声腐蚀的图像中恢复原始图像信息的过程。噪声会严重降低所获取的图像的视觉质量,导致图像信息的可靠性下降,影响进一步的图像处理。去除噪声是各种图像处理和计算机视觉工作中必不可少的步骤,其处理结果的好坏直接影响着边缘检测、目标识别等各种后续任务的顺利进行。因此,研究以及优化图像去噪算法具有重要意义。
传统的空间域图像去噪算法有中值滤波、线性滤波、高斯滤波和双边滤波等算法。这些算法对于去除噪声都有一定的效果,但都容易导致图像细节信息丢失和边缘模糊。基于其他理论的去噪算法有:基于小波变换理论的去噪算法[1-3],基于稀疏表示理论的去噪算法[4-6],基于全局统计特性的去噪算法[7-9],基于机器学习理论的去噪算法[10]。
小波变换是将图像信号变换到小波域进行多层分解,实现信噪有效分离,如 WTT(wa-vlet transform based image denoise using threshold approaches)算法[3]。稀疏表示理论下的去噪算法利用图像在过完备字典下的稀疏表示实现去噪功能,而该字典可由图像数据库的图像块学习得到。Aharon等提出 K-奇异值分解(K-singular value decomposition,K-SVD)图像去噪算法[4],Dong W等人提出的基于非局部集中稀疏表示(non-locally centralized sparse representation,NCSR)算法[5]以及焦莉娟等人提出的近邻局部OMP稀疏表示图像去噪[6]。另外基于图像的全局统计特性以及其他特性的算法有BM3D(block-matching and 3D filtering)算法[7],非局部均值滤波算法(non-local means,NLM)[8],双边非均值局部滤波算法[9]等。另外有基于非凸紧框架正则化的凸去噪CNC(convex denoising using non-convex tight frame regularization, CNC)[11],期望的补丁对数似然估计(expected patch log likelihood,EPLL)算法[12]。
图像去噪可以看作噪声图像到无噪图像的映射问题,卷积神经网络作为一种深度网络,能够很好地建立映射关系。本文引入深度卷积神经网络对图像进行去噪,该网络有着轻量级参数和计算复杂度,在保持较高精度的同时也能保持实时速度。对训练好的网络直接输入噪声图像与特征提取模块对噪声图像进行特征提取,信息保留模块通过残差学习来连接局部长、路径短的特征信息,最后重建模块整合这些学习到的特征信息,重建出去噪图像。该网络结构通过残差学习,解决了深层网络结构的退化问题,在去除噪声的同时又保留了高频信息。
噪声在图像上常表现为一种引起较强视觉效果的孤立像素点或像素块。噪声信号是与要研究的对象不相关的无用的信息,扰乱图像的可观测信息。本文算法主要针对高斯白噪声,椒盐噪声和泊松噪声。它们可以认为是由概率密度函数(probability density function ,PDF)表示的随机变量。典型的去噪模型可表示为
g(x,y)=h(x,y)+f(x,y)
(1)
G∶g→h
(2)
(2)式含噪声图像到去噪图像的一个非线性映射。本文通过构建一种层次较深的网络结构,调整卷积核的大小和数目,在保持较低计算复杂度的同时来学习噪声图像到无噪声图像的非线性映射。
卷积神经网络,是人工神经网络与深度学习相结合,通过反向传播算法训练卷积神经网络中的权重,从而实现深度学习的方法。卷积神经网络不仅具有传统神经网络的较好容错性、自适应性和较强自学习能力等优点,还具有自动提取特征、权值共享以及输入图像与网络结构结合良好等优势。这对针对图像去噪的卷积神经网络十分有利。
图1 网络结构Fig.1 Architecture of proposed network
本文提出的卷积神经网络结构主要包括3个部分,1个特征提取模块(feature extraction block, 简记FBlock),2个结构完全相同的信息保留模块(information preservation blocks, 简记IBlock),1个重建模块(reconstruction block, 简记RBlock),每个信息保留模块由1个提升单元和1个压缩单元构成,整个网络结构如图1所示。令x和y分别表示整个网络结构的输入与输出,FBlock是2个卷积核大小为3×3的卷积层,卷积层后都有修正线性单元 (Rectified linear unit, ReLU)作为激活函数,卷积核数量都为64,用来提取带有噪声图像的特征。这个过程表示为
B0=f(x)
(3)
式中:f表示提取特征的函数;B0表示提取到的特征。接下来的部分是2个信息保留模块,每个保留模块都由1个提升单元和1个压缩单元构成。这个过程表示为
Bk=FK(Bk-1),k=1,2
(4)
式中:F1和F2分别表示IBlock1和IBlock2代表的函数;B1和B2分别表示IBlock1和IBlock2的输出。接下来用2个卷积层作为RBlock,可以表示为
y=R(B2)
(5)
于是完整的网络结构可以表示为
y=R(F2(F1(f(x))))
(6)
式中:R表示重建模块代表的函数。
提升单元的结构为图1红色虚线框内所示,提升单元由6个卷积层构成,每层卷积核的大小都为3×3且都有激活函数(ReLU),其中C和S分别代表连接(concatenate)操作和切片(slice)操作。这6个卷积层可以分为两部分,前3个卷积层为第一部分,前3层特征图的维度分别为48,32,64;提升单元的后3个卷积层为第二部分,特征图的维度分别为64,48,80。Ni,(i=1,2,…,6)表示每一层特征图的维度,满足如下关系:
N3-N1=N1-N2
(7)
N6-N4=N4-N5
(8)
(9)
(10)
(11)
这种保留局部信息的方法,极大程度地避免了学习过程中图像信息的丢失,使得图像的边缘和纹理细节等高频信息得以更好保留。压缩单元由1个卷积层构成,通过1×1卷积核来实现压缩机制,降低计算复杂度。
(12)
第2个损失函数为MSE均方误差:
(13)
实验过程中我们发现利用MSE损失函数训练可以提升利用MAE损失函数训练的网络,因此先用MAE损失函数训练,后用MSE损失函数微调,加快网络的收敛速度,提升算法精度。
图2 基于信息保留网络的去噪算法流程Fig.2 Framework of image denoising based on information preservation convolutional neural network
常用的图像去噪的评测标准包括主观评价和客观量化。主观评价即人为观测图像,评定输出图像的质量。本文采取目前比较普遍的客观量化方法:峰值信噪比(peak signal to noise ratio, PSNR/dB)和结构相似性 (structural similarity index method, SSIM)。2幅图像间的PSNR值越高,则去噪后的图像相对于真实图像的失真越少,说明去噪算法的性能越好;2幅图像间的SSIM值越接近1,则去噪图像与原始图像的相似度越高,说明去噪效果越好。
实验训练的数据集为BSD100[14]自然图像集,用于测试的数据集为Set5[15]、Set14[16]。使用Caffe深度学习框架来训练神经网络,用于测试的软件为Matlab R2017a。
本节选取的对比算法有BM3D去噪方法[7],WTT[3]、CNC算法[11]、NLM算法[8]、EPLL算法[12]。选取set14中的barbara、lena两幅图像进行视觉效果的对比,8幅图像进行客观量化对比。图3~图4为6种算法对添加了方差为σ=25的高斯白噪声的图像的处理结果,图5~图6为6种算法对添加了方差为σ=50的高斯白噪声的图像处理结果。
通过对以上实验结果的观察可以发现,对于不同水平的噪声,本文算法对纹理细节的保持较好;BM3D算法处理的图像人物面部细节出现了模糊,WTT算法处理的效果相对较差;CNC和NLM算法都对图像进行了平滑处理,纹理细节不够显;EPLL算法对噪声的去除效果不够好,处理后的图像仍然存在噪声。对不同水平的噪声,本文算法的处理结果在视觉效果上优于所对比算法。
图3 6种去噪算法对Barbara图处理结果对比(σ=25)Fig.3 Results comparison of 6 denoising algorithms on Barbara image (σ=25)图4 6种去噪算法对Lena图处理结果对比(σ=25)Fig.4 Results comparison of 6 denoising algorithms on Lena image (σ=25)图5 6种去噪算法对Barbara图处理结果对比(σ=50)Fig.5 Results comparison of 6 denoising algorithms on Barbara image (σ=50)图6 6种去噪算法对Lena图处理结果对比(σ=50)Fig.6 Results comparison of 6 denoising algorithms on Lena image (σ=50)
表1 6种算法实验结果对比(σ=25)
表2 6种算法实验结果对比(σ=50)
在表1中选取的8幅测试图像,有5幅图像的评价指标高于其他算法。8幅测试图像的PSNR平均值可达到30.36 dB,SSIM平均值可以达到0.828 0。相比表1中其他5种算法,PSNR平均提升了2.15 dB,SSIM平均提升了0.072 9;在表2中,当噪声水平达到σ=50,2项评价指标的均值可分别达到29.30 dB和0.795 9,相比表2中其他5种算法,PSNR平均提升了3.07 dB,SSIM平均提升了0.112 2,本文算法去噪性能明显优于其他算法。
在图像去噪领域,大部分算法是针对高斯噪声去噪,当噪声类型改变时,原有算法的效果就会变差或者完全失效。本文算法的泛化性较强,对于泊松噪声和椒盐噪声也能达到较好的去除效果。对于椒盐噪声,选取Comic、Butterfly两幅图像进行视觉效果的对比;对于泊松噪声,选取Baby、Bird两幅图像进行视觉效果的对比。
图7 本文算法对Comic图和Butterfly图处理结果Fig.7 Results of proposed method on images Comic and Butterfly
图8 本文算法对Baby图和Bird图处理结果Fig.8 Results of proposed method on images Baby and Bird
表3 本文算法在泊松噪声和椒盐噪声上的实验结果
观察图7、图8得到的实验结果可以发现,去噪图像纹理细节信息完整,没有模糊和平滑现像,可以达到比较好的视觉效果。从综合视觉效果和客观评价指标来看,本文算法对椒盐噪声和泊松噪声的去除都非常有效,对椒盐噪声的效果尤为突出,PSNR可以达到45.00(dB),SSIM可以达到0.99以上。
本文算法的主要特征有:1)不需要对图像进行预处理,对含噪声图像直接进行去噪;2)信息保留模块提升单元对局部特征信息的保留,很大程度上保存了图像的细节信息;3)训练过程中,使用了2个损失函数,加快了网络的收敛速度,提升了算法精度;4)具有较强的泛化性,对不同种类的噪声,都能达到相对较好的去噪效果。实验结果表明,本文算法在主观评价和客观评价指标上都优于一般算法,具有一定的实用价值。在下一步工作中,将会根据网络结构的特性,进一步对网络进行优化。