基于非线性扩散方程的改进全变分去噪模型
2021-06-30郗金洋段锦郭红芮韩学辉陈宇
郗金洋,段锦,郭红芮,韩学辉,陈宇
(长春理工大学 电子信息工程学院,长春 130022)
在实际工作环境下,图像进行采集、传输和处理都会受到外界因素的影响,使图像出现噪声点或者信息模糊。因此在进行图像处理之前首先要对图像进行预处理,使获取的图像成较理想状态。
图像滤波是图像预处理重要的手段之一,空间域滤波是图像空间中借助模板对图像进行邻域操作,处理图像每一个像素的取值范围都是根据模板对输入像素相应领域内的像素值进行计算得到的。空域滤波一般分为线性滤波和非线性滤波,如均值滤波[1]和高斯滤波[2]属于线性滤波,中值滤波和双边滤波[3-4]等属于非线性滤波。传统的滤波算法在滤除图像噪声的同时也会平滑掉图像的有效信息,所以得到的去噪图像并不理想。
基于PDE的去噪滤波算法其思想是:将图像去噪问题转化为一个偏微分方程或变分方程求解问题,然后通过对方程求解得到最终的去噪结果。最初人们提出使用基于热扩散模型的偏微分方程进行去噪,但由于此去噪模型是以各向同性的方式进行扩散,因此在去噪的同时会模糊图像的细节。1990年,Perona和Malik在热扩散基础上提出了P-M去噪模型[5],P-M模型属于各向同性非线性扩散模型,它利用了图像的梯度模值,将图像的滤波过程与图像边缘的检测过程结合起来。正是这两种机制赋予了P-M方程较线性滤波更优良的性能。
Rudin等人在1992年提出了TV(total variation)去噪算法[6],该算法可以在滤除噪声的同时依然保留图片的边缘细节信息,但是传统TV去噪算法在平滑区域可能会产生“阶梯效应”,文献[7]提出算法在去噪的同时避免了阶梯效应,但该算法的时间复杂度高。本文提出一种针对参数的自适应迭代函数,结合非线性思想使改进后的算法,在去除噪声保留边缘信息的同时避免出现“阶梯效应”。
1 TV修复理论算法
chan和Shen在2002年提出的基于TV修复算法描述如下:如图1所示,D为破损区域,E为包括区域D的已知区域,在一个完全的图像区域x=(x1,x2)∈Ω上定义一个理想图像u0=u0(x)。
图1 区域E示意图
TV模型定义的能量函数为:
并且满足如下噪声约束:
其中,r为非负函数;∇u(x,y)为图片(x,y)位置上的像素梯度;A(E)为邻域E的面积;u(x,y)为含有噪声图像函数;σ为随机噪声。为了去除噪声 ,令r[|∇u(x,y)|]=|∇u(x,y)|,根 据拉格 朗日 乘数将式(1)与式(2)转化为无约束的能量泛函数,其能量泛函数为:
由变分法可知,能量泛函数去极小值的必要条件是满足E-L方程,对应E-L方程的解为:
因求能量泛函的最小值引入时间变量t,由梯度下降法可得:
以上TV图像修复模型有一个不足之处,它不完全符合图像处理的形态学原则,根据公式(5),它的变化不仅取决于它的水平集(由|∇u|表征),同时还取决于它的灰度值(u)。这一缺陷的直接表现是其稳态解中往往有明显的“分片常数”效应,或称为“阶梯效应”,即图像中光滑区域产生了虚假的边界,这对进一步的图像分割及其不利。
2 非线性扩散方程
由公式(6)可知,若图片某个点像素值比周围点低,则增强它,若高于周围点,则减少其值。由于它是各向同性的均匀扩散方程,导致图像细节模糊,去噪效果不理想。
Perona和Malik在90年代发现,由于边缘梯度较大,若扩散方程在梯度值较大的区域减速扩散,在较小的区域加速扩散,则可在去噪的同时,保留图像有用的信息。其扩散模型如下(PM模型):
g满足g(0)=1,g(∞)=0,单调递减有界函数。图像处于轮廓边缘时|∇u|较大,g(|∇u|)较小,图像扩散速度较慢,当图像处于平滑区域,|∇u|较小,g(|∇u|)加快了图像在此区域的扩散速度。文献[8-10]给出的扩散系数函数为如下:
式(8)-式(10)中的正常数k起到调整保护梯度的范围,扩散系g(|∇I|)与梯度关系,此时k=1,如图2所示。
图2 扩散系数曲线图
由于图像的破损区域存在梯度模值较大的区域,图2(a)在梯度较大的位置扩散区域趋近于0,此时停止扩散,因此需要选择一个在大梯度位置扩散系数不为0的扩散系数,相比较公式(8)-式(10),公式(9)在大梯度模值时,扩散系数较大,但通过公式(10)的一阶导数可以发现,在|∇u|<K的区域,为正向扩散,此时滤除噪声点,但在边缘附近,|∇u|>K时杂质将从浓度低的地方流向浓度高的地方,意味着,图像边缘锐化从而得到更好的视觉图像,因此选用公式(10)。
3 TV模型改进
传统的TV模型由于是各向异性扩散的,因此TV模型对修复区域的邻域像素点采用相同的扩散系数进行修复,使图像形成一个个灰度值相同的块状区域。为了避免这种情况出现,在公式(5)中加入随时间改变的自适应函数a(t),形成下列公式:
在图像去噪区域,a(t)像的去噪效果和去噪的速度影响很大,若a(t)的值较大,则|∇u|的作用变弱,此时TV修复模型可以近似看作各向同性扩散模型,且加快了迭代速率与扩散速度。当a(t)取值较小,则|∇u|的作用增强,此时TV模型为各向异性去噪模型,可以更好的保存图像的轮廓信息。
a(t)与扩散系数g(|∇I|)共同作用保证了图像边缘特性,所以得到新的修复方程为:
4 实验结果与评价
4.1 算法评价指标
为了从客观上评价算法的去噪性能,本文引用峰值信噪比PSNR为去噪效果指标。
峰值信噪比是一种表示信号最大可能功率和影响它的表示精度的破坏性噪声功率的比值,定义如下:
其中,m,n分别表示图像的行列;u0(i,j)表示原图像;u(i,j)表示噪声图片;L是图像中灰度值的取值范围,对于8 bit的灰度图像L=255。峰值信噪比越大,代表去噪图像越接近于原始图像。
4.2 实验步骤
为了验证本文算法的有效性,对分别叠加高斯噪声、柏松噪声、乘性噪声和椒盐噪声的图像运用本文算法、P-M算法、Catte算法、传统TV算法、文献[11]提出的改进的TV算法进行处理,其部分高斯去噪结果如图3所示,不同种类噪声去噪后的PSNR如表1所示。
表1 不同种类噪声去噪后的PSNR
4.3 实验结果
从PSNR角度来看,TV算法比Catte、P-M、文献[11]算法都高。从视觉上看,TV算法在去噪的同时仍然保留了图片的细节信息(如图3(b))而Catte与P-M虽然有良好的去噪效果,但都不同程度的模糊了边缘信息(如图3(e)、图3(f))。
图3 不同算法比较
P-M对于椒盐噪声的去除并不是有效的,而且会引入新的噪声点(如表1所示)。传统的TV算法在图像梯度平缓区域会出现阶梯效应,虽然文献[11]在一定程度上弥补了TV算法的缺点,但求得图片的PSNR低于本文提出的算法。本文出现的几种算法能够有效的去除噪声,但对于含有较多高频信息的图片(如baboon图像)并不能达到理想的去噪效果。
5 结论
由于传统的TV算法为各向异性扩散滤波,扩散因子由梯度|∇u||所决定,因此在图像平滑区域由于灰度值的变化不明显,梯度变化不明显,导致去噪图像出现“梯度现象”或虚假边缘。分别引入自适应系数a(t)和g3(|∇u|),在函数迭代前期,系数a(t)较大,此时去噪算法可以看成各向同性扩散滤波,消除了传统TV算法的缺陷。本文算法对图像的边缘具有保边形,消除了平坦区域出现“梯度现象”的情况,提高了图片的PSRN值和视觉效果。