袁 媛 朱 敏
(华东师范大学计算机科学与软件工程学院计算中心 上海 200062)
在图像传输、压缩等过程中会产生图像噪声,图像噪声会干扰从图像中准确获取信息。在当今信息化时代,图像已经成为一种重要的信息载体,然而被噪声污染过的图像将影响人们提取信息的准确性。图像去噪也是诸如图像特征提取等研究的基础步骤,所以图像去噪至今仍然是一个很重要的图像处理问题。
图像去噪的目的是要去除被噪声污染过的图像中的噪声,并且把图像中的原有信息尽可能多地保留下来。通常图像去噪问题被当成一个逆问题来处理,给定一张噪声图像,通过去噪算法去除图像噪声恢复未被噪声污染过的图像x。噪声图像可用表达式:y=x+v来表示。由于现实中的噪声能够近似表示为高斯噪声,因此通常v表示均值为0标准差为σ的高斯噪声。本文的研究也考虑v为高斯噪声的情况。
通过大量的研究,研究者们提出了许多图像去噪算法。主要包括以下几大类:图像滤波算法[1]、全变分方法[2]、基于小波的方法[3]、稀疏表示方法[4],以及基于非局部相似性的方法[5-10]等。
基于非局部相似性(一个图像块在不同的位置有相似块的特性)的方法近年来受到研究者们的关注。这一方法原理最早在2005年被BuadesAntoni等[7]提出用于图像去噪,并且取得了较好的效果。此后,有许多使用非局部相似性原理的基于图像块的去噪方法被提出来,如:三维块匹配算法(BM3D)[8]、加权核范数矩阵逼近(WNNM)[6]等。除了BM3D、WNNM等利用已有噪声图像的自相似性来去噪之外,研究者们发现可以用无噪声图像来引导噪声图像去噪,如PGPD[9]和PCLR[10]。尽管无噪声图像和噪声图像不一样,但自然界图像块的结构具有相似性,故可以预先通过算法学习无噪声图像块的结构特性,再将算法学习到的结构用于引导噪声图像去噪。例如,文献[9-10]通过高斯混合模型来学习非局部相似块组的结构特性。
相比其他去噪算法,上述的非局部相似性算法能够取得很好的效果,尤其是WNNM算法。然而,该算法主要是通过计算欧氏距离得到的图像块之间的相似度。这种方法虽然简单并且取得了不错的效果,但是在图像有噪声的情况下,噪声会影响图像块之间相似性的计算,可能出现原本不相似的图像块之间计算出较高的相似性的情况,这将影响后续图像去噪算法的去噪效果。近年来,研究者们致力于研究新非局部相似性算法来提高去噪效果,例如Grewenig等[11]通过将图像块旋转特定的角度来得到更多的相似块并以此来提升去噪效果。也有研究者用梯度值代替像素计算图像块之间相似性,但梯度值对噪声敏感,所以对于后续处理也不是一个好的分组算法。
综上所述,目前对于如何降低噪声在求解图像块之间相似度的影响的研究较少。Romano等[12]提出了一种通过提高待去噪图像信噪比的算法来提升去噪算法的去噪效果。受到这篇文章的启发,本文提出了一个有效的算法提升WNNM算法的效果。并且在重构图像之前,本文采用了加权平均方法来计算每个像素的值,以此得到去噪后的图像块,再对图像进行重构。
加权核范数最小化方法(WNNM)是由Zhang Lei等提出的。该方法利用无噪声图像块组成的矩阵是低秩的原理来达到去噪效果。处理流程如图1所示。
图1 WNNM处理流程图
首先加权核范数算法(WNNM)将图像划分成像素重叠的图像块,并求出每个图像块的非局部相似块。求相似块的方法有很多,如K均值方法、模糊聚类、张量方法等。加权核范数算法(WNNM)通过计算块Pi与块Pj之间的欧氏距离衡量两个块之间的相似度DPiPj:
(1)
其次,计算出图像块Pi和窗口范围wSize内图像块Pj之间的欧氏距离,将距离从小到大排序,前k个相似块组成矩阵。利用无噪声图像的相似块矩阵是低秩矩阵这一特性来去噪。低秩矩阵最小化可以用来求矩阵的解,得到目标函数:
(2)
然而,式(2)是非凸函数,求解过程是一个NP问题,需要对目标函数进行凸优化再求解。Candes和Recht证明了NNM(标准核范数最小化)是rank(Xi)的凸优化[11],可以通过求解NNM问题得到目标函数的最优解,因此式(2)等价于:
(3)
式中:λ是一个正数,‖Xi‖*是核范数,噪声图像块组Yi的奇异值分解为Yi=USV,对异值进行软阈值收缩,得到目标函数的解:
Xi=USλ(∑)V
(4)
无噪声图像块组合而成的矩阵是低秩矩阵,奇异值代表了矩阵变换的方向,前s个奇异值和占据了矩阵奇异值之和的99%,故前s个奇异值是矩阵变换的主要方向。而式(4)使用同一个λ值对奇异值进行软阈值收缩,这样得到无噪声图像并没有考虑奇异值的这个性质,导致图像细节过度平滑变得模糊。为了解决这个问题Zhang Lei等提出的加权核范数最小化方法(WNNM)使用不同的λ值对奇异值进行软阈值收缩得到低秩矩阵。因为图像信息能量主要聚集在数值大的奇异值上,要保留图像信息,所以数值大的奇异值对应更小的λ值,数值小的奇异值通常是噪声,需要过滤掉,目标函数如下:
(5)
(6)
(7)
代入式(5)求出解便可得到去噪后的图像块。
最后将图像块重构得到结果,可以采用迭代使得去噪效果更佳,当去噪后的图像的PSNR值不再有提升的时候,停止迭代,按照实验结果迭代次数的取值一般为8~14。
加权核范数算法(WNNM)已经取得了不错的去噪效果,然而这个方法还存在一些缺陷。
1) 基于噪声图像求图像块之间的相似度,有错分的可能性。把原本不相似的块分到一组会影响后续图像去噪算法的效果。给定一张大小为N×N的图像y,Pi和Pj是图像块,由上一节可知WNNM用式(1)度量两个图像块Pi和Pj的之间的相似度,在噪声的情况下Pi=xi+vi,Pj=xj+vj。其中xi和xj是Pi和Pj的无噪声图像,vi和vj是噪声,所以式(1)展开得到:
2×(xim-xjm)×(vim-vjm)
(8)
表1 无噪声相似块和有噪声相似块去噪信噪比
(a) C.man(b) Lenna
(c) House图2 对比图片
从表1中可以看出,由噪声图像块计算得到相似性块组去噪效果比利用无噪声图像得到相似块组的情况差。
2) 将图像块重构成无噪声图像块时,只通过求像素的平均值求图像块每个像素的值,然而不同图像块在图像块重构时所占权重应该不一样。
在利用自相似性对图像块进行分组时,一个块可能属于多个不同相似块组。因而对于每个噪声图像块会得到多个不同的去噪结果。WNNM算法对块中每个像素求平均值得到最终去噪后的图像块,而事实上每个相似块矩阵去噪后的效果不一样。理论上,相似块之间的相似性越大,矩阵秩便越低,去噪效果更佳。如果对每个像素直接求平均来得到去噪图像,则可能会将细节平滑,所以,去噪后的图像块应是多个不同结果的加权平均值:
(9)
式中:mj=1-k/(l+1),l为奇异值个数,k为矩阵的秩,秩越大mj越小,秩越小则mj越大。当k的值和l相等的时候mj=1/(l+1)。表2列出了WNNM算法对像素直接求平均和求加权平均的去噪效果对比。从表中可看出使用加权平均方法得到的去噪后图像峰值信噪比更高,这意味着加权平均方法效果更好。通常我们会假定每一个图像块的噪声是一样的,但事实上每块图像块的噪声是不一样大的,这将会影响分块的准确度,不同的相似块分组得到的去噪效果不一样。因此使用加权平均方法得到去噪后的图像块更加合理。
表2 平均和加权平均对比
为了解决上述问题,本文提出一种有效的方法。算法步骤描述如下:
步骤1将噪声图像y用WNNM算法进行去噪预处理,得到图像ypre,以此增强图像的信噪比。
步骤2将噪声图像y和预处理过后的图像ypre分别划分成像素重叠的图像块,并用ypre得到的图像块求出每个图像块的非局部相似块。
步骤3将ypre得到的非局部相似块组视为噪声图像y相应块的非局部相似性块组,用WNNM算法去噪。
步骤5将步骤4得到的图像重复K次步骤2-步骤4,其中K按照经验取值在8~14之间。
步骤6得到最终的去噪图像。
综上所述,本文提出的方法首先用WNNM将噪声图像作预处理。然后将预处理得到的图像分割成图像块,求每一块的相似块组,将这个相似块组视为噪声图像相似块分组,再对噪声图像进行去噪。提出这个方法的依据是:
1) 经过WNNM算法预处理的噪声图像,噪声变小了,信噪比有所提升,故因噪声引起的误差值部分减小。
2) 预处理过的图片是无噪声图像的一个近似解,因实验目的是恢复无噪声图像,故实验时没有干净图像能够用于分块,可将预处理过后的图像视为近似干净图像。
其次,由表2可得出结论,图像块重构时使用加权平均方法得到的去噪效果更好,故本文算法中图像块重构时使用加权平均方法求每个像素的值。
最后,将算法迭代K次得到最终的去噪结果,K的取值为峰值信噪比不再有提升时的迭代次数。
本文利用MATLAB 2012Ra实验环境,将本文提出的算法运用到lenna等10张图片上,并和几个去噪效果较好的算法进行了比较研究。这些算法包括三维块匹配算法(BM3D)[8]、加权核范数算法(WNNM)[6]、PGPD[9]、PCLR[10]。本文所有用于实验的图像大小都是256×256像素,类似于其他算法的仿真实验,所有图像的噪声为方差为0,标准差为的高斯噪声,不同对应的图像块大小如表3所示。
表3 不同σ对应图像块大小
算法的去噪性能用峰值信噪比(PSNR)来衡量,PSNR值越大说明算法去噪效果越好。表4为本文提出的算法和其他算法对于lenna等图片在不同噪声情况下进行处理之后得到的峰值信噪比的平均值对比。从表4可以看出,本文提出的算法比现有的其他算法效果都要好,从而验证了本文提出的算法的有效性。
表4 不同算法去噪后PSNR均值对比
图像去噪是图像处理领域的一个重要问题。本文提出了一个方法来提升加权核范数最小化算法(WNNM)的去噪效果。本文对于图像去噪的贡献在于,首先,降低了求初始图像相似块组的噪声,从而降低了因噪声在计算相似性时而产生的误差。其次,在重构无噪声图像块时,不是直接对像素求平均值,而是考虑了图像块不同的结果具有不同的权重。最后,实验结果表明本文提出的算法能够得到比WNNM更好的信噪比,图像处理的结果更好。