Print

发布时间: 2017-04-16
摘要点击次数:
全文下载次数:
DOI: 10.11834/jig.20170402
2017 | Volume 22 | Number 4




    图像处理和编码    




  <<上一篇 




  下一篇>> 





局部均值噪声估计的盲3维滤波降噪算法
expand article info 徐少平, 张兴强, 姜尹楠, 唐祎玲, 江顺亮
南昌大学信息工程学院, 南昌 330031

摘要

目的 图像在获取和传输的过程中很容易受到噪声的干扰,图像降噪作为众多图像处理系统的预处理模块在过去数十年中得到了广泛的研究。在已提出的降噪算法中,往往采用加性高斯白噪声模型AWGN(additive white Gaussian noise)为噪声建模,噪声水平(严重程度)由方差参数控制。经典的BM3D 3维滤波算法属于非盲降噪(non-blind denoising algorithm)算法,在实际使用中需要由人工评估图像噪声水平并设置参数,存在着噪声评估值随机性大而导致无法获得最佳降噪效果的问题。为此,提出了一种新的局部均值噪声估计(LME)算法并作为BM3D算法的前置预处理模块。 方法 本文专注于利用基于自然统计规律(NSS)的图像质量感知特征和局部均值估计技术构建图像噪声水平预测器,并通过它高效地获得噪声图像中准确的噪声水平值。关于自然场景统计方面的研究表明,无失真的自然场景图像在空域或者频率域上具有显著的统计规律,一旦受到噪声干扰会产生规律性的偏移,可以提取这些特征值作为反映图像质量好坏的图像质量感知特征。另外,局部均值估计因其简单而高效率的预测特性被采用。具体实现上,在具有广泛代表性且未受噪声干扰图像集合上添加不同噪声水平的高斯噪声构建失真图像集合,然后利用小波变换对这些失真图像进行不同尺度和不同方向的分解,再用广义高斯分布模型(GGD)提取子带滤波系数的统计信息构成描述图像失真程度的特征矢量,最后用每幅失真图像上所提取的特征矢量及对其所施加的高斯噪声水平值构成了失真特征矢量库。在降噪阶段,用相同的特征提取方法提取待降噪的图像的特征矢量并在失真特征矢量库中检索出与之类似的若干特征矢量及它们所对应的噪声水平值,然后用局部均值法估计出待降噪图像中高斯噪声大小作为经典BM3D算法的输入参数。 结果 改进后的BM3D算法转换为盲降噪算法,称为BM3D-LME(block-matching and 3D filtering based on local means estimation)算法。准确的噪声估计对于诸如图像降噪,图像超分辨率和图像分割等图像处理任务非常重要。已经验证了所提出噪声水平估计算法的准确性、鲁棒性和有效性。 结论 相对人工进行噪声估计,LME算法能够准确、快速地估算出任意待降噪图像中的噪声大小。配合BM3D算法使用后,有效提高了它的实际降噪效果并扩大它的应用范围。

关键词

噪声评估; 特征矢量提取; 局部均值估计; BM3D (block-matching and 3D filtering) 算法; 盲降噪

Noise level estimation based on local means and its application to the blind BM3D denoising algorithm
expand article info Xu Shaoping, Zhang Xingqiang, Jiang Yinnan, Tang Yiling, Jiang Shunliang
School of Information Engineering, Nanchang University, Nanchang 330031, China
Supported by: National Natural Science Foundation of China (61662044, 61163023, 61563035, 81501560)

Abstract

Objective Observed images can be easily contaminated by various noises during acquisition or transmission. As an important preprocessing module for various image processing systems, image denoising has been explored extensively in the last few decades. Various image denoising algorithms have been developed to improve the quality of images corrupted by some form of noise model, which is frequently assumed to be additive white Gaussian noise in the literature. As the core parameter of the non-blind block-matching and 3D filtering (BM3D) algorithm, noise level (i.e., variance) should be set manually in actual applications. This procedure significantly affects the noise reduction performance of the BM3D algorithm and limits its application scope due to inaccurate noise level estimation. To resolve this problem, a novel local means estimation (LME) algorithm that is utilized as the preprocessing module of the BM3D algorithm is proposed. Method In this work, we focus on solving the problem based on the quality-aware feature extraction of natural scene statistics (NSS) and local means techniques, which we can apply to automatically predict the noise level parameter with high accuracy and efficiency. Research on NSS has clearly demonstrated that clean images of natural scenes belong to a small set of space of all possible images and exhibit strong predictable statistical regularities in the spatial or frequency domain that can distinguish them from corrupted ones. By contrast, nonlocal means-based estimation exhibits the right features that interest us, such as its conceptual simplicity and effectiveness. In particular, several widely representative and clean images were selected and corrupted by Gaussian noise with different variances to constitute a set of distorted images. The sub-band coefficients of a corrupted image obtained from wavelet transform over three scales and three orientations were parameterized using generalized Gaussian distribution. These estimated parameters were used to form a feature vector that described image noise level. The feature vector extracted from each distorted image belonging to the distorted image set and the corresponding Gaussian noise variance constituted the feature vector database. The proposed quality-aware features have extremely low computational complexity, thereby making them appropriate for time-constrained applications. During the noise reduction stage, the feature vector of a noisy image to be denoised was extracted using the same feature extraction approach. We selected the feature vectors and the corresponding noise level values that were similar to the extracted feature of the noisy image in the feature vector database to estimate its variance using the LME approach. The estimated variance was subsequently used as the input parameter of the BM3D algorithm. Result The BM3D algorithm was transformed into a blind denoising algorithm called BM3D based on the LME algorithm (BM3D-LME). The accurate estimation of noise level from a single noisy image is of fundamental interest in a wide variety of digital image processing applications. This procedure is highly important for tasks such as denoising, super-resolution, and segmentation. We verified the accuracy, robustness, and effectiveness of the proposed method on a large number of representative images from several benchmark databases. Conclusion Experimental results show that the LME algorithm can accurately and rapidly estimate the noise level in any image to be denoised. The actual noise reduction effect of the BM3D algorithm is effectively improved with the aid of LME, and its application scope is also expanded.

Key words

noise level estimation; feature vector extraction; local means estimation; block-matching and 3D filtering (BM3D); blind image denoising

0 引言

图像噪声是图像在获取、压缩、传输和存储的等处理过程中因传感器缺陷、信道受到干扰而引入的。其中高斯噪声GN (Gaussian noise) 是实际工作中常见的一类噪声,它会对图像的质量产生严重的干扰,造成图像边缘检测、图像分割、图像修复、模式识别等后续图像处理工作无法实施[1-6],所以在对图像进一步处理之前,应对图像进行降噪处理。目前,针对高斯噪声研究者们已提出了许多降噪算法[7-12]。其中,均值滤波 (AF) 是滤除高斯噪声的常规算法。均值滤波算法将窗口内所有像素点的亮度均值作为中心像素的灰度值, 对图像中所有像素都采用无差别的滤波。这样会使得图像中非噪声像素点的灰度值也被改变,容易破坏边缘细节信息,造成图像模糊。2002年,Hu等人[13]对这类均值滤波算法进行了改进,提出了一种自适应模糊加权均值滤波算法 (AFWAF)。该算法是在模糊理论的基础上,使用非线性滤波技术和自适应权重滤波策略对图像进行处理,整体降噪效果有了较大地改善,图像细节也得到一定保留。为了进一步提高图像降噪的效果,Buades等人[14]提出了一种被称为非局部平均 (NLM) 降噪算法。该算法首先计算当前待修复像素点所在图像块与图像中其他像素点所在像素块之间的相似程度,然后以相似程度做为相似像素点灰度值的加权系数对当前待修复像素点进行加权估计,从而达到降噪的目的。尽管NLM取得了不错的降噪效果,但是这种方法需要判断像素点之间的相似性,计算量比较大,执行效率不高。随后,Wang等人[15]对NLM进行了改进,基于SSI (summed squared image) 图像和FFT快速傅里叶变换,提出了一种快速非局部降噪算法 (FNL)。与NLM算法相比,这种算法在一定程度上减少了图像降噪的执行时间,图像降噪的效果也得以进一步提高。但是,NLM和FNL算法主要在图像像素点级进行处理,不能充分利用图像内在结构信息来修复图像。为了更好地利用图像的结构信息,Aharon等人[16]提出了一种基于K-means算法和奇异值分解 (SVD) 的K-SVD图像降噪算法。该算法基于贝叶斯重构理论,首先运用DCT (discrete cosine transform) 和OMP (orthonormal matching pursuit) 算法构建词典,然后,利用K-means算法均值聚类的思想训练获得一个最优的信号稀疏表示词典集,通过词典集元素的线性组合构建各种需要的信号,从而去除图像中的噪声。K-SVD不再是针对图像像素点级进行滤波处理,而是基于图像块级进行处理,更好地利用了图像的内在结构信息去除图像中的噪声。这种方法的缺点在于,主成分分析 (PCA) 和词典学习带来了较高的计算代价,导致图像降噪时间大大提高。另外,K-SVD方法对高比例的噪声图像降噪也略显不足。为了解决K-SVD算法对高比例的噪声图像降噪能力较低的问题,Dong等人[17]提出了一种新颖的NCSR (nonlocally centralized sparse representation) 图像修复算法, 该算法利用图像的非局部自相似性质获得评估原始图像稀疏编码的系数,然后让降质图像的稀疏编码系数逼近这些评估,完成图像的修复。虽然NCSR算法可以较好地修复图像,特别是对高比例噪声图像的降噪效果有了较大提升,但是它构建用于稀疏表示所需字典时的计算量比较大。此外,NCSR有可能会过度地平滑图像,造成图像失真。为了克服这种方法的缺点,Gu等人[18]提出了一种加权核范数最小化 (WNNM) 降噪算法。这种算法能根据矩阵奇异值刻画图像效果差异,给定不同的权值,突显图像中重要的信息。但是,该算法需要进行耗时的SVD计算和迭代逼近,计算速度较慢。上述几种主流降噪算法虽然在降噪方面获得了令人满意的效果,但是大多执行效率比较低,严重影响了图像降噪后各种后继图像处理任务的效率。

降噪效果和执行效率是衡量图像降噪算法性能的两个关键指标。到目前为止,Dabov等人[19]提出的基于图像块匹配和3维空间滤波降噪算法 (BM3D) 充分利用了自然图像中图块的稀疏特性和图块之间的相似性[20-21], 是能够在降噪效果和运行效率两方面表现都比较优秀算法, 常被各类降噪算法用作性能对比的基准算法。但在实际使用中, 为获得最佳的降噪效果,BM3D算法中有相当多的参数仍然需要人工设定。BM3D算法中的参数主要包括硬阈值参数、维纳滤波参数和块匹配参数三大类,这些参数的设置均与图像噪声水平有关,所以图像噪声水平实际上是所有参数中一个最重要的核心参数。经典的BM3D算法依靠人工对图像的噪声水平进行估计并设置噪声水平参数, 它属于非盲降噪算法 (non-blind denoising algorithm), 这严重限制了它的实际应用效果。一方面,受图像内容和主观判断等因素影响人工很难获得准确的噪声水平估计,影响了算法的降噪效果;另一方面,BM3D算法也成为了半自动降噪算法,极大限制了它的应用范围。因此,为了让BM3D算法具有更好的性能,研究自动化的图像噪声水平评估算法十分有必要。

为了实现对待降噪图像的噪声水平自动估计,本文提出了一种基于局部均值估计 (LME) 的噪声估计算法[1]。该算法核心出发点是基于自然图像中所蕴含的自然场景统计 (natural scene statistics) 规律[22]。对于自然图像来说,图像中所蕴含的统计信息不是随机的,具有极强的规律性,这种规律性被称为自然场景统计。自然图像一旦受到噪声干扰这种特定分布就会被打破,因此通过度量这种偏离可以实现对图像失真程度的估计。本文采用自然场景统计技术提取反映噪声水平的图像质量特征矢量。具体实现上:在一组具有广泛代表性的无噪声图像集合上通过人工添加不同失真程度 (噪声水平) 的方法获得失真图像集合,然后提取这些失真图像的特征矢量构成失真特征矢量库 (库中每一条特征矢量均对应标记着所施加的噪声水平);在评价阶段,提取待降噪图像的特征矢量后在失真特征矢量库中查找与之相类似的若干特征矢量以及对应的高斯噪声水平,然后用LME算法实现对待降噪图像噪声水平的估计。本文所提出的LME算法是基于自然场景的统计规律,它最大的特点就是预测结果与图像内容无关 (不会像人工那样受图像内容干扰) 且扩展性好,可以有效地实现对任何输入的高斯噪声图像进行噪声水平评估,评估准确率远高于人工估计。另外,所采用的基于小波变换的特征矢量提取方法的实现效率也很高,保障了LME算法的效率。基于此,将LME算法应有于经典的BM3D图像降噪算法得到BM3D-LME算法。相对与经典的BM3D算法,BM3D-LME算法为盲降噪算法,具有更好的实际降噪效果,更广阔的应用范围。需要特别说明的是:所提出的LME算法不但可以应有于BM3D降噪算法,对于其他各种非盲降噪算法同样适用。

1 BM3D算法简介

1.1 BM3D算法

图 1所示,BM3D降噪算法[19]主要由两个工作阶段构成:1) 基础估计阶段 (左侧虚框部分)。该阶段利用硬阈值收缩通过协同滤波对噪声图像进行初步降噪形成基本估计。具体来说,就是将图像中所有与参考图块相近图块进行堆叠构成3D数组,之后对3D数组进行协同滤波,返回关于参考图块的基本估计。2) 最终估计阶段 (右侧虚框部分)。利用原始的噪声图像以及第1阶段获得的基本估计图像进行收缩滤波 (以维纳滤波实现),得到最终输出。BM3D这两个阶段都包括类似的两个步骤:(1) 利用和当前处理块同样大小的滑动窗口在图像中搜索与当前处理图像块匹配的所有图像块,并将全部的匹配图像块组合成一个3维数组;(2) 选取合适的3维滤波算子对3维数组进行滤波,接着逆变换还原图像,完成降噪任务。其实,BM3D算法充分利用了稀疏表示和非局部均值 (图像块之间的相似性) 降噪技术,通过有效的模块匹配和3D堆叠可以使得图块获得好的稀疏表示[1, 9]。稀疏表示使得所谓的3D协同滤波有效地保留图块中的细节信息。BM3D算法自2006年被提出后,因其不但具有较好的降噪效果,同时保持了较高的执行效率,常被研究者作为各类降噪算法的对比基准算法。

图 1 经典BM3D算法的流程框图
Fig. 1 The flow chart of classical BM3D algorithm

1.2 存在问题

到目前为止,BM3D算法的噪声水平参数σ需要人工设置 (属于非盲降噪算法),然而在实际应用中不可能获得原始图像作为参考,人工估计的结果受图像内容和主观评价者个人经验和喜好等因素的影响,很难对图像中的噪声水平进行准确的估计,故难以获得最佳的降噪效果。如图 2所示,3幅常用的测试图像分别施加了噪声水平为40、50和60的高斯噪声。从图 2可以看出,大部分观察者其实很难凭肉眼对图像之间的失真程度进行区分并给出准确的估计。甚至部分观察者受到图像内容干扰的影响,将图 2(a)的Hill图像误认为是噪声水平最高的失真图像 (因为图像中纹理变化比较剧烈,其实它的噪声水平才40)。以错误的估计值作为输入参数,BM3D算法的降噪效果自然将大大折扣,因此研究自动化的噪声估计算法对经典BM3D算法来讲是非常迫切的。

图 2 不同噪声大小的图像
Fig. 2 Images corrupted with different noise levels ((a) σ=40;(b)σ=50;(c) σ=60)

2 BM3D-LME算法

2.1 改进策略

正如前文所述,经典的BM3D算法在对图像进行滤波时需要提供图像的噪声大小σ作为输入参数。对于任意给定的噪声图像,仅仅通过人眼评估,随机性大,无法准确地估算图像噪声大小。但是,图像噪声的大小参数对最终的图像降噪效果具有决定性作用。受基于内容的图像检索 (CBIR)[23]和非局部均值图像降噪算法 (NLM)[1]领域研究工作经验的启发,本文采用局部均值 (local means) 方法来解决这个问题。主要创新思想来源于:

1) 基于具有近似图像特征矢量的图像 (特征描述符需要合理设计) 在图像内容上也类似的原理,CBIR系统能够在图像数据库中将与查询图像在内容上相近的图像全部检索出来。理论上,噪声水平估计与CBIR系统的工作原理是近似的 (只不过是图像特征描述符描述对象不同而已,一个关于图像噪声水平而另外一个则是图像内容)。所以,只要图像描述符经过合理合计,在图像特征矢量数据库中所检索到的与待评价图像特征矢量近似的图像,其与待评价图像在噪声水平上也应该是近似或者大致相当。

2) 在NLM图像降噪算法中[1, 14], 当前噪声像素点的修复亮度值可以基于图像中其他类似像素点的亮度值用均值估计方法很好地估算出来。所谓类似像素点是指以这些像素点为中心的图块在某种特征描述符下是近似的 (经典的NLM算法直接采用图块中所包含的所有像素点亮度值之间的欧氏距离来度量, 相当于直接把图块上所有的像素点亮度值都作为特征矢量)。NLM算法被广泛成功应用表明:利用图像中与当前噪声像素点近似的像素点的亮度值可以实现准确的估计,是有效的估算方法。

正是受上述两点启发,如图 3所示,笔者基于自然统计规律[22]提取大量噪声图像特征并构建失真图像的特征矢量库;然后用相同的方法提取待降噪图像的特征矢量并失真图像特征矢量库查找若干与之类似的图像,基于这些图像事先标定的高斯噪声水平值 (即σ值) 用LME算法进行估计,获取最佳的图像噪声大小。LME算法不仅可以通过提供准确噪声水平估计值改善图像的降噪效果,同时该算法完全是自动化的过程,应有到经典BM3D算法后将其转换为盲降噪算法,极大扩大它的实际应用范围。

图 3 BM3D-LME算法模块框图
Fig. 3 The flow chart of BM3D-LME algorithm

2.2 图像质量感知特征提取

研究表明,以自然场景为内容的图像经过小波分解后,其每个子带滤波系数趋向服从高斯分布[24],而且一旦受到噪声干扰,会产生有规律性的变化。因此,可以通过提取图像的各个子带滤波系数值,用其所服从的分布模型的参数表征图像质量好坏的特征。使用Daubechies9/7小波基对图像进行了3个尺度 (原始尺寸、1/2尺寸、1/4尺寸)3个方向 (水平、垂直、对角) 的小波变换。随后用广义高斯分布 (GGD) 模型为各个子带系数分布建模,用模型的参数值组成图像特征的矢量集合。GGD广义高斯分布模型可表示为

$ {f_x}(x,\mu ,{\sigma ^2},\gamma ) = a{{\rm{e}}^{ - \left[ {b|x - \mu |} \right]\gamma }},{\rm{ }}x \in {{\boldsymbol{\rm{R}}}} $ (1)

式中,μσ分别表示子带系数值的均值和标准差,$ x $表示子带系数变量,γ表示分布形状参数,控制分布函数的形状。当γ=1时,该分布简化为Laplacian分布;当γ=2时,这个分布称为高斯分布。

$ a = \beta \gamma /2\Gamma \left( {1/\gamma } \right) $ (2)

$ b = \left( {1/\sigma } \right)\sqrt {\Gamma \left( {1/\gamma } \right)\Gamma \left( {3/\gamma } \right)} $ (3)

式中,Γ($ x $) 为伽马函数,表示为

$ \Gamma \left( x \right) = \smallint _0^{^\infty }[{t^{x - 1}}{{\rm{e}}^{ - t}}{\rm{d}}t],x > 0 $ (4)

参考文献[25],对μσγ等参数进行评估。运用Daubechies9/7小波基作为图像小波变换的基时,其子带相应的均值为0,故而每一个子带可有两个高斯分布参数 (σγ) 作为图像刻画的矢量分量。将图像进行了3个尺度3个方向的小波变换后,图像的特征矢量由18维特征向量 (3个尺度×3个方向×2个参数) 组成,可以表示为

$ \boldsymbol{x} = ( \cdots ,\sigma _{_{d \in \{ H,V,D\} }}^{^{s \in \{ 1,2,3\} }},\gamma _{_{d \in \{ H,V,D\} }}^{^{s \in \{ 1,2,3\} }}, \cdots ) $ (5)

式中,$ d $表示方向,s表示尺度。

表 1是利用上述特征矢量提取方法在受不同高斯噪声水平干扰的Babara噪声图像 (含原始图像) 上所提取的特征矢量数据列表。表 1中最后一行所列FSIM (feature similarity) 指标值[26]为各噪声图像的图像质量客观评价值 (反映了图像质量的好坏)。从表 1中可以看出,随着噪声水平的增大 (FSIM指标值减少),各行 (每一维) 特征值都相应的发生有规律性变化,这种相关度可以用相关系数来度量 (列在表 1的最右边一列)。从表 1中得知,相关系数大部分都在0.90以上,很多高于0.94,甚至有的高达0.99,这说明本文所提取的特征矢量大部分分量的变化与噪声水平变化都是密切相关的,适合用来度量图像噪声水平变化,可做为反映图像噪声水平的特征矢量使用。

表 1 在不同噪声水平Barbara噪声图像上提取的特征值
Table 1 Feature values extracted from Barbara image at different noise levels

下载CSV
维数 高斯噪声水平 相关系数
0 10 20 30 40 50 60 70 80 90 100
1 0.000 3 0.001 9 0.006 4 0.013 7 0.023 3 0.034 6 0.046 9 0.059 5 0.071 9 0.083 7 0.094 7 0.942 2
2 0.006 7 0.008 4 0.013 1 0.020 5 0.030 1 0.041 2 0.053 2 0.065 3 0.077 2 0.088 5 0.099 0 0.945 6
3 0.042 3 0.044 0 0.049 0 0.056 9 0.066 6 0.077 3 0.088 6 0.099 5 0.110 1 0.120 0 0.129 0 0.955 3
4 0.009 3 0.010 8 0.015 3 0.022 5 0.031 8 0.042 6 0.054 3 0.066 2 0.077 9 0.089 1 0.099 5 0.944 3
5 0.012 2 0.013 9 0.018 5 0.025 7 0.035 1 0.045 9 0.057 4 0.069 2 0.080 7 0.091 5 0.101 7 0.946 4
6 0.049 3 0.051 1 0.055 9 0.062 9 0.071 5 0.081 2 0.091 4 0.101 6 0.111 4 0.120 8 0.129 4 0.953 6
7 0.000 4 0.001 9 0.006 5 0.013 8 0.023 5 0.034 8 0.047 1 0.059 7 0.072 0 0.083 8 0.094 9 0.942 6
8 0.004 9 0.006 5 0.010 9 0.017 9 0.027 0 0.037 7 0.049 1 0.060 8 0.072 3 0.083 2 0.093 5 0.944 4
9 0.006 8 0.008 1 0.012 3 0.018 9 0.027 5 0.037 6 0.048 4 0.059 6 0.070 5 0.080 9 0.090 6 0.943 5
10 0.547 0 1.859 0 2.018 0 2.032 0 2.026 0 2.018 0 2.019 0 2.030 0 2.038 0 2.050 0 2.062 0 0.632 8
11 0.368 0 0.584 0 0.941 0 1.267 0 1.499 0 1.649 0 1.743 0 1.804 0 1.842 0 1.867 0 1.885 0 0.982 4
12 0.471 0 0.536 0 0.667 0 0.821 0 0.975 0 1.128 0 1.262 0 1.379 0 1.483 0 1.566 0 1.634 0 0.990 4
13 0.441 0 0.685 0 1.085 0 1.442 0 1.679 0 1.813 0 1.890 0 1.940 0 1.979 0 2.009 0 2.033 0 0.975 3
14 0.552 0 0.743 0 1.064 0 1.363 0 1.575 0 1.713 0 1.795 0 1.841 0 1.869 0 1.894 0 1.916 0 0.981 0
15 0.705 0 0.778 0 0.919 0 1.079 0 1.238 0 1.374 0 1.484 0 1.564 0 1.621 0 1.660 0 1.689 0 0.997 9
16 0.560 0 1.776 0 1.977 0 1.999 0 2.004 0 2.004 0 2.003 0 2.006 0 2.016 0 2.029 0 2.043 0 0.660 7
17 0.438 0 0.757 0 1.230 0 1.561 0 1.741 0 1.825 0 1.855 0 1.872 0 1.887 0 1.900 0 1.912 0 0.936 9
18 0.676 0 0.912 0 1.289 0 1.546 0 1.680 0 1.746 0 1.787 0 1.818 0 1.826 0 1.817 0 1.814 0 0.940 1
FSIM 1.00 0 0.954 4 0.873 0 0.798 6 0.736 4 0.685 1 0.642 8 0.607 6 0.578 2 0.553 7 0.533 1

2.3 基于局部均值的噪声评估

运用上文所提出的特征提取方法获得了$ n $个噪声图像的特征向量$ {\mathit{\boldsymbol{x}}^1}, {\mathit{\boldsymbol{x}}^2}, \cdots, {\mathit{\boldsymbol{x}}^n}\} \subset \mathit{\boldsymbol{X}} $,其中,每一个样本$ {\mathit{\boldsymbol{x}}^i} $均已经标定了其对应的噪声水平参数${\sigma ^i} $。待评估图像特征矢量用$ \mathit{\boldsymbol{y}} $表示, 则其对应的噪声大小为

$ {\sigma _{{\rm{est}}}} = \sum\limits_{1 < i < m} w (\mathit{\boldsymbol{y}},{\mathit{\boldsymbol{x}}^i}){\sigma ^i} $ (6)

式中,$ w(\mathit{\boldsymbol{y}}, {\mathit{\boldsymbol{x}}^i}) $是权重函数,它的大小依赖于特征矢量$ \mathit{\boldsymbol{y}} $与数据库中${\mathit{\boldsymbol{x}}^i} $的矢量距离 (相似程度)。具体实现上,权重函数可以定义为

$ w(\mathit{\boldsymbol{y}},{\mathit{\boldsymbol{x}}^i}) = {{\rm{e}}^{\frac{{ - d\left( {y,{x^i}} \right)}}{h}}}/Z(\mathit{\boldsymbol{y}},{\mathit{\boldsymbol{x}}^i}) $ (7)

$ Z\left( \mathit{\boldsymbol{y}} \right) = {\sum\limits_i {\rm{e}} ^{\frac{{ - d\left( {y,{x^i}} \right)}}{h}}} $ (8)

式中,$ d\left( {\mathit{\boldsymbol{y}}, {\mathit{\boldsymbol{x}}^j}} \right) = ||\mathit{\boldsymbol{y}}-{\mathit{\boldsymbol{x}}^j}|{|_2} $是特征矢量$ \mathit{\boldsymbol{y}} $$ {\mathit{\boldsymbol{x}}^i} $之间的欧氏距离, 参数$ h $主要控制权重函数值的衰减速度。对待降噪的图像进行噪声评估时,首先计算出该图像和失真图像库中所有图像特征矢量的距离。然后,找出距离最小 (相似性最高) 的$ m $个图像 (本文设置$ m $=10),运用式 (6) 评估出待测图像的噪声大小σest

在式 (7)(8) 中参数$ h $是一个重要的参数,它的取值与特征矢量之间的距离有关,主用作用是用来计算某个特征矢量所对应噪声水平值在估算中的权重值。一般来说,由于图像内容不同 (纹理差异),相同噪声比例下的不同图像所提取的特征矢量有可能存在较大差异 (影响矢量距离的计算),因此专门根据图像内容设置其最优的$ h $参数值是比较困难的事情。尽管如此,仍然可以从统计分析的角度大致为$ h $参数值的设置提供一些建议。为此,选取Lena、Peppers、Barbara、Cameraman、Couple、Gold、Hill等常用具有代表性自然图像 (含有丰富的各种不同类型的纹理区域) 在噪声失真特征矢量数据库上 (见3.1节说明) 进行大量实验,通过统计分析$ h $参数在取不同值时计算式 (6) 所预测的评估值与真值之间的均方根误差值来筛选最优的$ h $参数值。均方根误差值越小说明预测准确率高,其对应的$ h $值即为最优的取值。具体地,$ h $值的选取从0.1倍标准差开始,间隔0.1倍,最大搜索到5倍标准差。这里标准差是指待评价噪声图像与特征库中距离最小的m个样本的特征距离的标准差。为了获得一般性的结论,按照在测试图像上所施加的噪声水平严重程度分为高、中、低3级 (低比例噪声水平为0~30之间,中等噪声为31~65之间,高噪声为66~100之间)。参数$ h $在不同倍数下在测试图像上预测值与真值的均方根误差列在表 2中 (限于表格篇幅,表 2中未列出大于1.0倍以上情况的数值,在1.0倍以上时均方根差值的总体变化趋势是越来越大,故未列出)。从表 2中可以看出,$ h $取值为矢量距离标准差0.1倍到1.0倍时,均方根误差在3.2到2.8之间变化。对于常用低比例噪声,一般选择0.5倍的标准差即可以获得最优的预测精度。而对于中高比例的噪声,分别选择0.1倍和0.3倍标准差可以获得最优的预测精度。其实在中高比例噪声条件下选择0.5倍的标准差作为参数所获得的均方根误差与最优值之间的差距并不大。因此,可以对所有比例噪声选择0.5倍标准差值作为$ h $参数值。如果所预测的噪声比例为中高比例噪声,可以用更为合适倍率的$ h $参数值进行二次预测以获得更为精确的预测值 (但是很多情况下没有必要,毕竟最终预测的均方根误差值相差不大)。

表 2 参数$ h $在不同标准差倍数下获得的预测误差估计
Table 2 The prediction error obtained at different parameter values

下载CSV
噪声程度 $ h $取值为矢量距离标准差的倍数
0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0
低噪声 2.859 6 2.848 8 2.844 9 2.838 5 2.832 0 2.826 6 2.823 6 2.823 2 2.825 2 2.828 5
中等噪声 3.018 6 3.025 8 3.040 8 3.055 0 3.065 1 3.073 1 3.085 1 3.099 8 3.114 3 3.127 5
高噪声 3.228 3 3.194 8 3.193 6 3.198 1 3.202 8 3.207 5 3.212 7 3.218 2 3.223 9 3.229 4
注:粗体标注的数值是均方根误差最小值,其对应的倍率即为$ h $的最优取值。

3 实验与分析

3.1 测试软件开发平台和运行环境

为了测试BM3D-LME算法的降噪效果, 开发一个针对高斯噪声的图像降噪对比系统,参与对比算法包括FNL[15]、KSVD[16]、NCSR[17]、WNNM[18]和BM3D算法[19]。这些算法均属当前主流或经典算法,具有代表性。系统使用Matlab14.0的图像处理工具包作为开发软件平台, 硬件平台采用Intel Core (TM) Quad CPU处理器,8 GB内存,Windows 8操作系统。如图 4所示,构建噪声图像失真特征矢量数据库以TID2013测试数据库[27]中24幅图像为基础加上随机从BSD500数据库[28]上选取的76幅图像构成总共100幅原始图像 (限于篇幅,图 4中仅给出了部分图像),分别给这些图像施加不同大小的噪声 (σ值最小为0,最大为100,步长为5),这样共获得条学习数据 (100幅×21个噪声级别)。此外,进行实验时,在失真特征库中取与待评估图像特征最相似的10个特征矢量进行局部均值评估,即参数$ m $=10。

图 4 TID2013数据库中的部分图像
Fig. 4 Some images selected from TID2013 database

3.2 相关实验

首先,为了验证本文提出的局部均值法对不同大小的高斯噪声失真图像的评估效果,在一些标准的图像上进行了测试。如图 5所示,这些无失真图像被施加了标准差为10~100的高斯噪声。表 3列出了局部均值估计算法的估计结果。从表 3中可以看出,图像的噪声评估值和准确值的平均误差小于2.8。与通过肉眼对图像进行噪声评估相比 (上文图 2所给出的例子),预测精度提高了很多。因此本文提出的LME算法能够准确地对图像的噪声水平进行评估,为后续的BM3D降噪算法打下了坚实的基础。

图 5 标准测试图
Fig. 5 Popular used test images

表 3 使用BM3D-LME对各种噪声强度的图像的评估结果
Table 3 The prediction error obtained at different noise levels using BM3D-LME algorithm

下载CSV
图像 高斯噪声值
10 20 30 40 50 60 70 80 90 100
Lena 12.339 7 21.867 6 32.110 3 40.987 7 50.301 8 60.188 2 70.111 4 80.263 7 90.362 3 99.611 4
Barbara 8.477 2 19.431 9 31.111 1 42.027 9 53.458 0 63.923 4 73.887 4 83.721 5 91.410 8 100.000 0
Cameraman 8.690 1 19.365 1 29.761 8 40.059 8 52.582 6 65.004 0 77.112 3 89.045 1 99.023 3 99.769 5
Goldhill 16.704 7 21.784 2 30.664 0 40.291 8 50.050 0 59.851 2 70.115 6 80.847 1 91.408 4 99.095 2
Peppers 12.181 4 23.692 5 31.144 1 40.462 3 50.024 4 59.928 7 70.088 2 79.690 6 88.209 8 97.411 6
评价误差 2.811 7 1.709 5 1.053 5 0.765 9 1.283 4 1.867 1 2.263 0 2.713 6 2.799 0 0.822 5

其次,为了验证基于均值估计的噪声估计算法应用到BM3D算法后的实际效果,分别利用BM3D算法 (使用真实的噪声值) 和BM3D-LME算法 (使用估计的噪声值) 对上述图像集合进行降噪处理。得到的降噪后的图像PSNR、SSIM、FSIM指标平均值列在表 4中,从表 4中的数据可以看出,BM3D-LME算法的各项降噪指标与BM3D算法不相上下,这意味着使用LME算法预测的高斯噪声值与真实值已经非常接近了,达到了令人满意的精度。

表 4 BM3D算法与BM3D-LME在测试图像集合上平均降噪效果对比
Table 4 Comparison of BM3D and BM3D-LME algorithms on test images

下载CSV
指标 算法 高斯噪声值
10 20 30 40 50 60 70 80 90 100
PSNR/dB BM3D 34.83 31.80 29.97 28.48 27.23 26.12 25.09 24.13 23.23 22.41
BM3D-LME 34.20 31.72 29.95 28.42 27.16 26.07 25.03 24.08 23.21 22.42
FSIM BM3D 0.977 0.953 0.932 0.914 0.897 0.881 0.866 0.850 0.836 0.822
BM3D-LME 0.974 0.952 0.932 0.912 0.894 0.878 0.863 0.847 0.834 0.822
SSIM BM3D 0.960 0.923 0.889 0.855 0.826 0.797 0.769 0.742 0.716 0.691
BM3D-LME 0.954 0.922 0.888 0.856 0.825 0.796 0.767 0.74 0.714 0.691

图 2所给出的例子可知,由人工进行噪声估计,其所估计噪声噪声水平的误差达到20都有可能的。虽然表 4中BM3D算法与BM3D-LME算法的降噪效果相当,其实这是因为它的噪声参数直接被设置为真实值导致的。在实际由人工来完成噪声评估,是不可能获得这样的好成绩。为进一步验证本文所提BM3D-LME算法的实际有效性和效率,设计一组模拟对比实验,针对Lena图像真实噪声水平添加20、30、50、80这4种噪声水平的高斯噪声,然后分别假设人工预测的噪声分别为 (10, 30)、(20, 40)、(40, 60)、(70, 90)。分别运用FastNL、KSVD、NCSR、WNNM、BM3D和BM3D-LME降噪算法对含有不同程度高斯噪声的图像进行降噪,除BM3D-LME算法外,噪声参数均使用人工假设的噪声水平。各算法的PSNR、SSIM、FSIM指标执行数据列在表 5-表 7中。表 5-表 7中括弧内的高斯噪声水平是人工设置的噪声值,这里假设人工估计的噪声值误差仅仅为10,实际情况可能比这个误差可能还要大得多。从表 5-表 7中可以看出,相较于其他算法,BM3D-LME的降噪效果在当手动设置有偏差时要好很多。仅仅有个别几个指标数据稍好于BM3D-LME算法情况。此外,从表 8的降噪时间对比可以看到,BM3D-LME算法比BM3D算法增加的时间不是很多,这说明本文所提出的基于局部均值估计的噪声估计算法并没有占用太多时间,继续保持了BM3D算法执行时间和降噪效果综合性能优异的特点。

表 5 各降噪算法在Lena图像上的PSNR指标对比
Table 5 Comparison of PSNR indexes of each denoising algorithms on Lena image

下载CSV
/dB
算法 高斯噪声值
20(10) 20(30) 30(20) 30(40) 50(40) 50(60) 80(70) 80(90)
FNL 28.10 27.03 27.26 25.37 24.30 22.85 20.97 20.31
KSVD 24.41 27.43 23.78 25.70 24.00 22.69 21.49 20.57
NCSR 24.26 28.19 23.98 26.00 24.44 24.17 23.17 22.49
WNNM 24.45 28.34 24.20 26.78 24.48 24.46 23.30 22.03
BM3D 24.48 29.25 25.08 27.66 24.50 25.19 23.21 22.90
BM3D-LME 30.13 28.08 25.58 23.00

表 6 各降噪算法在Lena图像上的SSIM指标对比
Table 6 Comparison of SSIM indexes of each denoising algorithms on Lena image

下载CSV
算法 高斯噪声值
20(10) 20(30) 30(20) 30(40) 50(40) 50(60) 80(70) 80(90)
FNL 0.744 0.798 0.725 0.747 0.617 0.640 0.490 0.514
KSVD 0.552 0.794 0.531 0.742 0.591 0.636 0.596 0.558
NCSR 0.544 0.827 0.535 0.767 0.632 0.711 0.680 0.656
WNNM 0.554 0.835 0.559 0.795 0.621 0.724 0.697 0.646
BM3D 0.557 0.859 0.606 0.821 0.645 0.750 0.678 0.678
BM3D-LME 0.876 5 0.832 2 0.762 9 0.680 9

表 7 各降噪算法在Lena图像上的FSIM指标对比
Table 7 Comparison of FSIM indexes of each denoising algorithms on Lena image

下载CSV
算法 高斯噪声值
20(10) 20(30) 30(20) 30(40) 50(40) 50(60) 80(70) 80(90)
FNL 0.899 0.858 0.888 0.837 0.833 0.795 0.762 0.736
KSVD 0.800 0.855 0.789 0.821 0.819 0.759 0.753 0.721
NCSR 0.801 0.884 0.803 0.839 0.829 0.792 0.783 0.755
WNNM 0.809 0.887 0.812 0.858 0.830 0.800 0.800 0.737
BM3D 0.807 0.908 0.834 0.885 0.839 0.839 0.815 0.791
BM3D-LME 0.921 5 0.894 7 0.853 4 0.798 3

表 8 BM3D-LME算法比BM3D算法在Lena图像上执行时间
Table 8 Execution time comparison of BM3D-LME and BM3D algorithms on Lena image

下载CSV
/s
算法 高斯噪声值
20(10) 20(30) 30(20) 30(40) 50(40) 50(60) 80(70) 80(90)
BM3D 2.162 1.873 2.301 1.920 1.833 2.751 2.988 2.804
BM3D-LME 2.088 2.164 2.846 2.923

最后,为了更直接地验证BM3D-LME的降噪效果,给出了具体降噪实例。图 6(a)-(c)分别是Lena的原始图像、σ=30噪声图像和BM3D-LME降噪后的图像。图 6(d)-(g)给出了各种降噪算法对σ=30的噪声图像设置偏小σ值降噪后的图像。图 6(h)-(k)是各种降噪算法对σ=30的噪声图像设置偏大σ值时降噪后的图像。从图 6可以看出,当评估值偏小设置时,图像噪声不能被有效地去除;而评估值偏大设置时,又过分地平滑了图像,无法准确地保留图像的细节。σ设置过大或者过小,降噪后的图像都不能获得令人满意的效果。而σ值的设置依靠人工是无法准确估计的,受到的干扰因素太多,且与个人喜好和经验有关,这再次说明了对图像噪声进行精确的评估具有重要意义。

图 6 各个算对Lena图像的降噪效果
Fig. 6 Denoising effect of each algorithm on Lena image ((a) original image; (b) corrupted image with σ=30; (c) denoised image by ours; (d) visual effect of each denoising algorithm when the noise level is set smaller; (e) visual effect of each denoising algorithm when the noise level is set larger)

总之,相比于现今各种流行的图像降噪算法,BM3D-LME拥有更好的综合降噪能力,具有较好的应用前景。

4 结论

包括经典的BM3D算法在内的许多降噪算法属于非盲降噪算法,在实际使用过程中需要手工设置噪声参数值,极大限制了这些算法的实际应用效果。本文提出了一种新型的LME算法可以精确地对图像的高斯噪声大小进行评估。这种噪声评估方法具有自动、快速、准确的优点,作为经典BM3D降噪算法预处理模块使用后 (改进后的算法称为BM3D-LME),使得整个降噪过程无需人工干预,降低了图像噪声大小评估值的随机性,减少了人为因素对降噪结果的影响,并且整个算法所增加的执行时间非常有限,继续保持了BM3D算法执行效率高的特性。LME算法非常鲁棒,理论上只要是失真特征库存在少量与待评价图像类似的图像就可以实现对任何噪声图像进行噪声评估。此外,基于LME算法具有很好的可扩展性,它不仅仅局限于高斯噪声的评估,只要特征矢量描述符经过合理设计,可以拓展到脉冲噪声等其他类型的预测,这将是下一步的研究工作。

参考文献

  • [1] Xu S P, Yang X H, Jiang S L. A fast nonlocally centralized sparse representation algorithm for image denoising[J]. Signal Processing, 2017, 131: 99–112. [DOI:10.1016/j.sigpro.2016.08.006]
  • [2] Zhang Y, Hirakawa K. Blind deblurring and denoising of images corrupted by unidirectional object motion blur and sensor noise[J]. IEEE Transactions on Image Processing, 2016, 25(9): 4129–4144. [DOI:10.1109/TIP.2016.2583069]
  • [3] Ma Y T, Zhu J N, Baron D. Approximate message passing algorithm with universal denoising and Gaussian mixture learning[J]. IEEE Transactions on Signal Processing, 2016, 64(21): 5611–5622. [DOI:10.1109/TSP.2016.2599484]
  • [4] Xie Y, Gu S H, Liu Y, et al. Weighted schatten p-norm minimization for image denoising and background subtraction[J]. IEEE Transactions on Image Processing, 2016, 25(10): 4842–4857. [DOI:10.1109/TIP.2016.2599290]
  • [5] Jia X X, Feng X C, Wang W W. Rank constrained nuclear norm minimization with application to image denoising[J]. Signal Processing, 2016, 129: 1–11. [DOI:10.1016/j.sigpro.2016.05.026]
  • [6] Lanza A, Morigi S, Sgallari F. Convex image denoising via non-convex regularization with parameter selection[J]. Journal of Mathematical and Vision, 2016, 56(2): 195–220. [DOI:10.1007/s10851-016-0655-7]
  • [7] Li M H, Jia Z H, Yang J, et al. Remote sensing image denoising based on the combination of the improved BiShrink and DTCWT[J]. Journal of Optoelectronics·Laser, 2012, 23(6): 1201–1205. [李明慧, 贾振红, 杨杰, 等. 改进的BiShrink与DTCWT相结合的遥感图像去噪[J]. 光电子·激光, 2012, 23(6): 1201–1205. ] [DOI:10.16136/j.joel.2012.06.021]
  • [8] Wang L Q, Xiao L, Zhang J, et al. New image restoration method associated with tetrolets shrinkage and weighted anisotropic total variation[J]. Signal Processing, 2013, 93(4): 661–670. [DOI:10.1016/j.sigpro.2012.09.004]
  • [9] Dong W S, Shi G M, Li X. Nonlocal image restoration with bilateral variance estimation:a low-rank approach[J]. IEEE Transactions on Image Processing, 2013, 22(2): 700–711. [DOI:10.1109/TIP.2012.2221729]
  • [10] Lal S, Chandra M. Image denoising of wavelet based compressed images corrupted by additive white Gaussian noise[J]. Research Journal of Applied Sciences, Engineering & Technology, 2012, 4(17): 3108–3118.
  • [11] Luisier F, Blu T, Unser M. Image denoising in mixed poisson-gaussian noise[J]. IEEE Transactions on Image Processing, 2011, 20(3): 696–708. [DOI:10.1109/TIP.2010.2073477]
  • [12] Gao J B, Chen Q, Blasch E. Image denoising in the presence of non-Gaussian, power-law noise[C]//Proceedings of 2012 IEEE National Aerospace and Electronics Conference. Dayton, OH, USA:IEEE, 2012:103-108.[DOI:10.1109/NAECON.2012.6531037]
  • [13] Hu H, Wang M Z, Yang J. Adaptive fuzzy weighted mean filter[J]. Systems Engineering and Electronics, 2002, 24(2): 15–17. [胡浩, 王明照, 杨杰. 自适应模糊加权均值滤波器[J]. 系统工程与电子技术, 2002, 24(2): 15–17. ] [DOI:10.3321/j.issn:1001-506X.2002.02.006]
  • [14] Buades A, Coll B, Morel J M. A non-local algorithm for image denoising[C]//Proceedings of 2005 IEEE Computer Society Conference on Computer Vision and Pattern Recognition. San Diego, CA, United States:IEEE, 2005:60-65.[DOI:10.1109/CVPR.2005.38]
  • [15] Wang J, Guo Y W, Ying Y T, et al. Fast non-local algorithm for image denoising[C]//Proceedings of 2006 IEEE International Conference on Image Processing. Atlanta, GA, United States:IEEE, 2006:1429-1432.[DOI:10.1109/ICIP.2006.312698]
  • [16] Aharon M, Elad M, Bruckstein A. K-SVD:an algorithm for designing overcomplete dictionaries for sparse representation[J]. IEEE Transactions on Signal Processing, 2006, 54(11): 4311–4322. [DOI:10.1109/TSP.2006.881199]
  • [17] Dong W S, Zhang L, Shi G M, et al. Nonlocally centralized sparse representation for image restoration[J]. IEEE Transactions on Image Processing, 2013, 22(4): 1620–1630. [DOI:10.1109/TIP.2012.2235847]
  • [18] Gu S H, Zhang L, Zuo W M, et al. Weighted nuclear norm minimization with application to image denoising[C]//Proceedings of 2014 IEEE Conference on Computer Vision and Pattern Recognition. Columbus, OH, United States:IEEE, 2014:2862-2869.[DOI:10.1109/CVPR.2014.366]
  • [19] Dabov K, Foi A, Egiazarian K. Image denoising with block-matching and 3D filtering[C]//Image Processing:Algorithms and Systems, Neural Networks, and Machine Learning. San Jose, CA, United States:SPIE, 2006, 6064:354-365.[DOI:10.1117/12.643267]
  • [20] Liu J, Wang Y H, Su K J, et al. Image denoising with multidirectional shrinkage in directionlet domain[J]. Signal Processing, 2016, 125: 64–78. [DOI:10.1016/j.sigpro.2016.01.013]
  • [21] Cai N, Zhou Y, Wang S R, et al. Image denoising via patch-based adaptive Gaussian mixture prior method[J]. Signal, Image and Video Processing, 2016, 10(6): 993–999. [DOI:10.1007/s11760-015-0850-9]
  • [22] Moorthy A K, Bovik A C. A two-step framework for constructing blind image quality indices[J]. IEEE Signal Processing Letters, 2010, 17(5): 513–516. [DOI:10.1109/LSP.2010.2043888]
  • [23] Xu S P, Liu X P, Li C Q, et al. Texture descriptor based on spatial statistical features of local binary pattern code pair[J]. Pattern Recognition and Artificial Intelligence, 2013, 26(8): 769–776. [徐少平, 刘小平, 李春泉, 等. 基于LBP值对空间统计特征的纹理描述符[J]. 模式识别与人工智能, 2013, 26(8): 769–776. ] [DOI:10.3969/j.issn.1003-6059.2013.08.010]
  • [24] Srivastava A, Lee A B, Simoncelli E P, et al. On advances in statistical modeling of natural images[J]. Journal of Mathematical Imaging and Vision, 2003, 18(1): 17–33. [DOI:10.1023/A:1021889010444]
  • [25] Sharifi K, Leon-Garcia A. Estimation of shape parameter for generalized Gaussian distributions in subband decompositions of video[J]. IEEE Transactions on Circuits and Systems for Video Technology, 1995, 5(1): 52–56. [DOI:10.1109/76.350779]
  • [26] Zhang L, Zhang L, Mou X Q, et al. FSIM:a feature similarity index for image quality assessment[J]. IEEE Transactions on Image Processing, 2011, 20(8): 2378–2386. [DOI:10.1109/TIP.2011.2109730]
  • [27] Ponomarenko N, Jin L N, Ieremeiev O, et al. Image database TID2013:peculiarities, results and perspectives[J]. Signal Processing:Image Communication, 2015, 30: 57–77. [DOI:10.1016/j.image.2014.10.009]
  • [28] Arbelaez P, Maire M, Fowlkes C, et al. Contour detection and hierarchical image segmentation[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2011, 33(5): 898–916. [DOI:10.1109/TPAMI.2010.161]