基于各向异性扩散的几种平滑算法比较及改进1钱惠敏茅耀斌王执铨(南京理工大学自动化学院)摘要:基于各向异性扩散的图像平滑算法是目前广泛使用的非线性平滑算法之一。本文比较了几种P-M扩散系数改进算法的优缺点,并提出了一种改进的基于视觉掩蔽效应的各向异性扩散平滑算法,由于此方法用归一化局部方差和图像梯度信息联合度量空间细节,它不仅能更有效消除噪声和保持图像细节,同时避免了原扩散系数参数估计的困难。实验结果表明改进方法得到的平滑图像具有更好的视觉质量。关键词:各向异性扩散视觉掩盖效应图像平滑中图分类号:TP391文献标识码:AComparisonandImprovementofSeveralSmoothingAlgorithmsBasedonAnisotropicDiffusionHuiminQianYaobinMaoZhiquanWang(CollegeofAutomation,NanjingUniversityofScience&Technology)Abstract:ImageSmoothingbasedonanisotropicdiffusionisoneofthediffuselyusednon-linearsmoothingmethods.Inthispaper,theperformanceofseveralimprovedPerona-Malikanisotropicdiffusionmethodsarecompared,andanimprovedmethodmakinguseofvisualmaskingeffectisproposed.Owingtotheusageofthemeasurementcapabilityforimagefeaturesofunitarylocalvarianceandimagegradient,thenewalgorithmnotonlyachievesbettereffectintermsofnoiseremovalandedgepreservation,butalsoobviatesthedifficultiesinparameterestimationthatunavoidablyexistinginoldschemes.Theexperimentalresultshavedemonstratedthebettersmoothingresultsofthealgorithmwithrespecttovisualqualityagainstthemanyexistingimprovedanisotropicdiffusionmethods.Keywords:AnisotropicDiffusion;VisualMaskingEffect;ImageSmoothing0引言在图像处理和图像分析领域,图像平滑是一个重要环节,它极大地影响着后继处理的结果。传统线性图像平滑方法的细节保持能力较差,常会模糊图像的边缘。1990年,Perona和Malik[1]首次提出各向异性扩散图像平滑方法,它通过求解非线性偏微分方程来实现。由于非线性图像平滑方法在保持图像边缘和去除噪声方面表现出的良好性质,从此各向异性扩散图像处理方法引起了人们极大的兴趣。假设原始单色连续图像为u0,定义在Ω⊂R×R上,逐渐平滑得到的图像序列为u(x,y,t),则u(x,y,t)可以通过求解如下的非线性热传导方程得到,div(())()ucuucuucut∂=∇∇=∇Δ+∇∂i∇(1)初始条件为u(x,y,t)=0,其中c(⋅)是方程的热传导系数(也称为扩散系数),是非负递减函数,且有c(0)=1,c(s)≥0(s→∞时等号成立)。理想的扩散系数要使得式(1)在图像均质区域内扩散程度大以利于噪声消除;在边缘区域内扩散程度小以利于保持边缘。为此,Perona-Malik提出了两类c(⋅)方程[1],2()1(1())cssK=+和2()exp((/))cssK=−,其中参数K定为常数,1项目基金:江苏省自然科学基金(BK2004421)1根据实际图像估计得到。虽然各向异性扩散方法得到了广泛应用,但它仍然存在一些缺陷,比如平滑时有可能保留梯度值较大的孤立噪声点;方程在迭代过程中会出现不适定情况,从而使得相近图像滤波后得到差异很大的结果。针对这些问题,很多学者提出了改进,如Cattle[2],Chen[3],Gilboa[4]等人对模型方程的改进,但它们存在一个共同的问题:估计扩散系数参数K的困难。因此Perona-Malik[1],F.Voci[5]等人提出了改进的参数K估计法,但也都存在不同的缺陷。文献[6]借鉴Anderson和Netravali[7]将噪声掩蔽函数作为空间细节度量的思想,提出将噪声可见度函数[7]修改后作为Perona-Malik方程的扩散系数,此方法可以避免估计参数K的困难,但是去噪效果不好,分析原因是其细节度量算子不能有效度量加噪图像的空间细节特征。本文比较了文献[1、5、6]提出的各向异性扩散系数改进方法,分析了各算法的缺陷,并基于人类视觉掩蔽效应,从定义更有效的空间细节度量算子出发改进了P-M方程的扩散系数。文章余下章节如下组织:第1节介绍了几个现有的各向异性扩散系数改进方法,并分析了各自的缺陷,第2节提出一种改进的基于人类视觉特性的扩散系数,第3节给出了各算法的实验结果比较,昀后总结全文。1几种各向异性扩散系数改进方法1.1改进的参数K估计法分析Perona-Malik方程的扩散系数可知,只有梯度幅值大于参数K的像素才作为边缘信息被保留;而梯度幅值较小的低对比度边缘将被滤除。因此,K的取值直接影响到各向异性扩散方法对图像的平滑去噪和细节保持能力。参数K为常数时实验结果不佳,原因在于:在对噪声图像平滑的异性扩散过程中,随着图像平滑程度的增加,相应的梯度不断下降,因此参数K递减才能有效地保持边缘。有些学者就从这一点入手,寻求参数K的昀佳估计方法,改进各向异性扩散系数。文献[1]中,Perona和Malik提出借鉴Canny的“噪声估计法”自适应确定K(由于依赖于直方图,以下称之为直方图估计法)。用此方法估计K能得到较好的实验结果,但同时又带来了确定百分比的困难,不同图像的昀佳滤波效果对应的直方图积分和百分比取值有所差异。2004年,F.Voci[5]等也给出了两种估计参数K的方法:基于形态学的方法和基于P-范数的方法。基于形态学的K估计方法由于在每次迭代过程中要对整幅图像做开、闭操作,计算成本较大。因为P-范数有单调下降这一特性,所以P-范数估计能保证K递减,此法计算量小,缺点是平滑时模糊程度大,细节保持能力较差。以上方法存在问题的原因是它们仅仅采用梯度来度量空间细节,忽略了人类视觉系统的特性,而在图像处理过程中,多数图像都要求被人类视觉系统观察和理解。1.2基于人类视觉特性的各向异性扩散系数视觉心理学实验证实,人眼对物体亮度的主观感受强烈地依赖于背景亮度和结构。在平滑区域,亮度差异很容易被察觉,导致更高的噪声可见度;而在图像边缘或场景复杂区域,尽管亮度差异较大,却难以被察觉,因此有更低的噪声可见度,这就是视觉掩蔽效应[7]。基于人类视觉掩蔽效应,Anderson和Netravali[7]定义了噪声可见度函数f(i,j),1(,)(,)1fijMijθ=⋅+(2)其中M(i,j)为噪声掩盖函数,用来度量空间细节,θ为调节参数,根据实验调整。Katsaggelos[8]等人提出用图像的局部方差度量空间细节,因为它没有方向性,不必区分水平、垂直和其它各方向的不同。一幅定义在区域Ω⊂R×R上的图像u(x,y),分别定义局部均值mu(x,y)和局部方差σu²(x,y)为:21(,)(,)(21)(21)yQxPumxPnyQmxyumnPQ++=−=−=++∑∑(3)221(,)(,)[(,)(,)](21)(21)yQxPuumxPnyQMxyxyumnmxyPQσ++=−=−==−++∑∑(4)其中,(2P+1)×(2Q+1)为计算局部方差的窗口尺寸。因此理想情况下,在场景复杂区域,噪声可见度函数值f→0;而在平滑区域,噪声可见度函数值f→1。可知,此噪声可见度函数与异性扩散系数满足的条件一致。由此,文献[6]将噪声可见度函数的调节参数θ取为梯度|∇u|,修改后作为各向异性扩散的扩散系数。然而文献[6]提出的扩散系数对加噪图并不能满足式(1)中扩散系数的要求。如图1所示,在原图和叠加Gauss噪声后的图像中选取相同区域A、B,给出各区域对应的局部方差分布图。由方差分布可知,原图中边缘丰富区域A对应的局部方差集中分布在0~2000之间,而含噪声图像的区域A对应的局部方差集中分布在0~3000之间,因此在边缘区域噪声可见函数f满足扩散系数的要求。然而,对平滑区域B来说,原图中对应的局部方差集中分布在0~2之间,而含噪声图像中对应的局部方差集中分布在0~1500之间。因此,受噪声影响,基于局部方差的扩散系数不能满足在平滑区域使f→0,即不能有效滤除噪声。AB05001000150020002500010020030040001230100200300400(a)house原图像(b)区域A局部方差分布(c)区域B局部方差分布AB0100020003000400050000501001502002500500100015002000050100150200250(d)含Gauss噪声图像(e)区域A局部方差分布(f)区域B局部方差分布图1无噪声图像和加噪图像局部方差直方图分布对比本文针对以上问题,引入归一化的局部方差,定义了基于归一化局部方差和灰度值梯度函数的联合空间细节度量算子,对P-M方程的扩散系数提出改进。2各向异性扩散系数的改进图像没有噪声污染时,在平滑区域内像素点的局部均值mu(x,y)接近像素灰度值,从而局部方差M(x,y)很小;而在边缘区域内,由于像素灰度值变化活跃,部分像素点灰度值与局部均值之间的差值较大,使得局部方差M(x,y)很大。但如果有噪声存在时,平滑区域和边缘区域的像素点局部方差M(x,y)都变大,此时局部方差就不能有效地度量空间细节。3本文提出用归一化的局部方差M0(x,y)来代替M(x,y),并用M0(x,y)⋅|∇u|度量空间细节,其中,0(,)(,)((,))maxxyMxyMxyMxy×∈Ω=(5)对扩散系数提出如下改进:01()(,)1fuMiju∇=⋅∇+(6)我们分别选取一维曲线信号和二维图像信号为实验对象来比较文献[6]和本文算法的去噪和边缘保持能力。图2是一维信号的例子,原始信号在(0,500)部分为平坦区域,对应的噪声可见度高;在(501,1000)部分为边缘丰富区域,对应噪声可见度低。在信号上叠加Gaussian噪声后,分别用文献[6]和本文算法去噪。比较滤波结果可知,本文算法的平滑去噪和边缘定位能力都高于文献[6]。图3是二维图像信号的例子,选取图1(d)所示噪声图像,分别用文献[6]和本文算法平滑去噪,(b)、(c)对应这两种算法对(a)中边缘丰富区域C的平滑结果(放大显示)。可见,本文算法的去噪和边缘保持能力明显优于文献[6]算法。0500100005010015020005001000050100150200(a)一维原始信号(b)加Gauss噪声后信号050010000501001502005001000050100150200(c)文献[6]方法迭代100次(d)本文方法迭代30次结果结果与原信号比较与原信号比较图2文献[6]和本文方法对一维加噪信号滤波结果比较C(a)加噪图像(b)文献[6]方法迭代80次(c)本文方法滤波8次图3文献[6]和本文方法对区域C的滤波结果比较4本文提出的改进扩散系数,用归一化的局部方差M0(x,y)来自适应图像像素梯度的变化,在扩散过程中随着平滑程度的提高不断递减,因此采用M0(x,y)⋅|∇u|度量空间细节,能保证扩散系数式(6)满足P-M给出的扩散系数条件。另外,由于本文方法利用了图像本身的性质,有