APP下载

外部非局部自相似先验的图像去噪*

2021-02-25白同磊张翠芳

电讯技术 2021年2期
关键词:先验高斯局部

白同磊,张翠芳

(西南交通大学 信息科学与技术学院,成都 611756)

0 引 言

在过去的几十年中,已经研究出许多图像去噪的方法,包括基于滤波的方法、基于扩散的方法、基于全变分的方法、基于小波的方法、基于稀疏表示的方法和基于非局部自相似的方法等。

非局部自相似(Non-local Self-similarity,NSS)算法根据图像中存在许多相似图像块的事实来恢复图像,与传统的基于局部自相似性的方法相比可以提取更多的先验信息,显著提高了算法的去噪性能。Dabov等人[1]提出了图像块匹配和三维滤波(Block Matching with 3D Filtering,BM3D)的方法,将非局部相似块组成三维矩阵,并在稀疏3D变换域中进行了协同过滤,使得BM3D算法成为图像去噪的高效算法。Mairal等人[2]提出一种非局部稀疏模型,通过对NSS先验进行组稀疏编码来恢复图像。Dong等人[3]将NSS先验和局部稀疏编码统一到非局部中心化稀疏表示(Nonlocally Centralized Sparse Representation,NCSR)框架中,形成了一种高效的图像去噪算法。Gu等人[4-5]假设非局部相似块的矩阵具有低秩结构,提出了基于低秩最小化的去噪方法。张雯雯等人[6]提出用高斯混合模型从外部干净数据集学习非局部自相似先验信息的方法,可以较好地恢复图像的细节部分,但是没有充分利用块组之间的相似性,导致高斯混合模型过于复杂。柯祖福等人[7]提出一种基于非局部自相似的谱聚类图像去噪算法,利用合适的低秩矩阵来近似恢复图像,但是需要提供高斯白噪声的标准差,缺乏自适应性。张玉征等人[8]提出用双核函数来计算参考图像块和邻域图像块的相似度,可以取得良好的去噪结果,但是在噪声水平比较高的情况下,双核函数不能准确衡量图像块之间的相似度。薛智爽等人[9]将非局部群稀疏表示引入到图像的最优滤波中,提出了非局部群稀疏表示模型,可以高效地恢复图像的结构信息,但是仅适用于去除高斯白噪声。李伟伟[10]提出了一种非局部可切换滤波的方法,通过对图像块进行预处理来增加相似度函数的准确性,但是仅适用于去除椒盐噪声。

与大多数图像去噪算法不同,本文的目标是去除图像中真实的噪声。为了提取准确的先验信息,从外部干净图像中学习非局部自相似先验,以实现高性能的去噪算法。在学习阶段,从外部干净图像数据集中提取数百万个外部块组,并用高斯混合模型学习外部块组的先验信息。在去噪阶段,对高斯分量的协方差矩阵进行奇异值分解得到字典和正则化参数,并利用得到的字典和正则化参数对噪声图像内部块组进行稀疏表示。实验结果显示,本文提出的算法可以高效地去除图像中真实的噪声。

1 学习外部先验

本文选用Kodak PhotoCD数据集作为外部干净图像数据集,该数据集包含24张高质量自然图像,每张图像的尺寸大小为500 pixel×500 pixel。学习外部先验信息的关键是将图像中相似的块聚集成一个块组,相比于单个图像块,块组具有更多的先验信息。用高斯混合模型可以从外部干净图像数据集中学习精确的图像先验信息,而无需考虑噪声对图像的干扰和破坏。

1.1 外部块组

(1)

对块组去直流后,会显著增加块组间的相似性,从而减少拟合块组所需的高斯分量个数,进而降低了高斯混合模型的复杂度。

2.2 高斯混合模型及EM算法

假设从外部干净图像数据集中提取N个块组,对块组进行去直流分量处理得

(2)

(3)

式中:μk表示均值,Σk表示协方差矩阵,πk表示权重系数。假设块组之间是独立的,则N个块组的似然函数表示为

(4)

(5)

(6)

(7)

(8)

通过在E步和M步之间交替,模型参数将被迭代更新,每次迭代都可以增加式(5)中对数似然函数的值,并且EM算法将收敛。

2 基于外部先验的图像去噪

在图像噪声水平比较高的情况下,难以从噪声图像中学习精确的先验信息。因此,本文用最大后验概率的方法找到与噪声图像块组最匹配的外部块组先验,进而利用稀疏表示算法恢复图像。

2.1 内部块组聚类

(9)

2.2 基于稀疏表示的去噪算法

(10)

式中:Dk是保存特征向量的字典,Sk是保存特征值的对角矩阵。Dk中的特征向量也叫做原子,这些原子表征了外部干净图像中非局部自相似块的统计特性,Sk中的特征值表征了Dk中特征向量的重要程度。

(11)

(12)

式中:λ=(1/2)[λ1,λ2,…,λ3p2]T是正则化系数向量,sgn(·)是符号函数,⊙表示对向量元素的乘法操作。

(13)

Step1 将若干相似的图像块聚成块组,并对块组进行去直流分量处理。

Step2 用高斯混合模型学习外部块组先验,并用EM算法求解高斯混合模型的参数。

Step3 对高斯混合模型的协方差矩阵进行奇异值分解得到字典。

Step4 用软阈值的方法求解稀疏表示模型中的稀疏编码系数。

Step5 利用字典和稀疏编码系数对图像块进行稀疏表示。

3 仿真实验

3.1 实现细节

为了平衡算法的计算成本和去噪性能,本文将图像块的大小设置为p=6,搜索窗口的边长大小为W=31,块组中块的数量M=10。高斯混合模型中高斯分量的个数K=32,字典中原子的个数为108,稀疏编码的正则化系数λ=0.000 5。求解公式(11)的迭代次数T=6,迭代次数过多会发生过拟合,迭代次数过少会发生欠拟合。算法用Matlab实现,计算机CPU型号为Intel(R) Core(TM) i7-5930K,内存条容量为32 GB。

3.2 测试数据集

本文用CC15、CC60和PolyU100图像数据集对算法进行测试。CC15图像数据集包含了15张噪声图像,每张图像的尺寸大小为512 pixel×512 pixel;CC60图像数据集包含了60张噪声图像,每张图像的尺寸大小为500 pixel×500 pixel;PolyU100图像数据集包含了100张噪声图像,每张图像的尺寸大小为512 pixel×512 pixel。为了计算峰值信噪比(Peak Signal-to-Noise Ratio,PSNR),数据集中包含了与每张噪声图像相匹配的ground truth图像。

3.3 对比算法

将本文算法的仿真结果与基于广义Anscombe变换的BM3D(Generalized Anscombe Transformation Block Matching with 3D Filtering,GAT-BM3D)算法[13]、彩色块匹配和三维滤波(Color Block Matching with 3D Filtering,CBM3D)算法[14]、加权核范数最小化(Weighted Nuclear Norm Minimization,WNNM)算法[15]、多层感知机(Multi-Layer Perceptron,MLP)算法[16]、降噪卷积神经网络(Denoising Convolutional Neural Networks,DnCNN)算法[17]、训练反应扩散(Trained Reaction Diffusion,TRD)算法[18]、盲去噪(Noise Clinic,NC)[19]算法和指导图像去噪(Guided Image Denoising,GID)算法[20]的仿真结果对比。

CBM3D算法需要设定噪声图像的噪声标准差参数。WNNM、MLP和TRD算法需要输入每个颜色通道中噪声的水平,为了得到R、G、B三个颜色通道的噪声水平σr、σg、σb,这里假设噪声服从高斯分布,用Chen等人[21]提出的算法估计每个颜色通道的噪声水平。DnCNN算法被训练为处理噪声水平为0~55的图像。此外,本文重新训练了判别性去噪方法MLP和 TRD的模型,其噪声水平从σ=5到σ=50,间隔为5。

3.4 实验结果与分析

稀疏表示模型的关键参数是正则化参数λ。图1显示了用本文算法对CC15数据集去噪的结果,可以看到当λ=0.000 5时算法的性能达到最优;当λ<0.000 5时,算法对噪声水平比较高的图像过拟合;当λ>0.000 5时,算法对噪声水平比较低的图像欠拟合。

表1列出了几种算法对CC15数据集进行去噪的结果,每个图像的最佳峰值信噪比结果用红色粗体突出显示。平均而言,本文提出的外部非局部自相似(External Nonlocal Self-similarity,ENSS)先验算法比GID算法提高0.24 dB的峰值信噪比。从算法复杂度的角度来看,ENSS算法处理一张图像需要36.1 s,复杂度主要体现在对图像进行分块处理操作和块组聚类操作。

表1 几种算法对CC15数据集的去噪结果

图2是用佳能5D Mark 3(ISO=3 200)拍摄的图像。可以看到,GAT-BM3D、CBM3D、WNNM、MLP、DnCNN、NC和GID算法要么会保留噪声,要么会产生伪影,而TRD会使图像过于平滑。相比而言,ENSS算法在处理小尺度纹理上表现更优。

图2 几种算法对CC15数据集样例去噪结果

表2显示了几种算法对CC60图像数据集进行去噪的结果。相比于最优的GID算法,本文提出的ENSS算法提升了0.18 dB的峰值信噪比。图3是用Nikon D800(ISO=3 200)拍摄的图像,与噪声图像对比可以发现本文提出的ENSS算法可以高效地对图像进行去噪,去噪结果与原图像非常接近。

表2 几种算法对CC60数据集的去噪结果

图3 几种算法对CC60数据集样例去噪结果

表3显示了几种算法对PolyU100数据集去噪的结果,实验结果表明ENSS算法比其他算法获得了更好的PSNR结果,比GID算法提升了0.82 dB。图4是用Canon 80D(ISO=12 800)拍摄的图像,相比其他算法,本文提出的算法在消除噪声的同时可以更好地保留图像的细节信息。

表3 几种算法对PolyU100数据集的去噪结果

图4 几种算法对PolyU100数据集样例去噪结果

4 结束语

图像中的真实噪声过于复杂,不服从简单的概率分布,难以根据噪声的性质设计高性能的图像去噪算法。此外,噪声会破坏图像的先验信息,在噪声水平比较高的情况下很难从噪声图像本身提取准确的先验信息。因此,本文提出了一种从外部干净图像数据集学习非局部自相似先验的图像去噪算法,用最大后验概率估计的方法从外部先验信息中找到最适合恢复图像的信息,并用外部先验对噪声图像进行稀疏表示,以此来去除噪声。大量的对比仿真实验结果表明本文提出的ENSS算法具有良好的去噪性能。但由于外部先验是通过学习有限干净图像中的先验信息而得到,难以保证能够为每个噪声图像块找到最佳的外部先验,如何将外部先验与噪声图像本身的先验相结合是下一步研究的关键。

猜你喜欢

先验高斯局部
局部分解 巧妙求值
非局部AB-NLS方程的双线性Bäcklund和Darboux变换与非线性波
数学王子高斯
基于无噪图像块先验的MRI低秩分解去噪算法研究
天才数学家——高斯
基于自适应块组割先验的噪声图像超分辨率重建
局部遮光器
吴观真漆画作品选
基于平滑先验法的被动声信号趋势项消除
从自卑到自信 瑞恩·高斯林