当前位置:文档之家› 维纳维纳滤波实现模糊图像恢复

维纳维纳滤波实现模糊图像恢复

维纳滤波实现模糊图像恢复
摘要
维纳滤波器是最小均方差准则下的最佳线性滤波器,它在图像处理中有着重要的应用。

本文主要通过介绍维纳滤波的结构原理,以及应用此方法通过MA TLAB 函数来完成图像的复原。

关键词:维纳函数、图像复原
一、引言
在人们的日常生活中,常常会接触很多的图像画面,而在景物成像的过程中有可能出现模糊,失真,混入噪声等现象,最终导致图像的质量下降,我们现在把它还原成本来的面目,这就叫做图像还原。

引起图像的模糊的原因有很多,举例来说有运动引起的,高斯噪声引起的,斑点噪声引起的,椒盐噪声引起的等等,而图像的复原也有很多,常见的例如逆滤波复原法,维纳滤波复原法,约束最小二乘滤波复原法等等。

它们算法的基本原理是,在一定的准则下,采用数学最优化的方法从退化的图像去推测图像的估计问题。

因此在不同的准则下及不同的数学最优方法下便形成了各种各样的算法。

而我接下来要介绍的算法是一种很典型的算法,维纳滤波复原法。

它假定输入信号为有用信号与噪声信号的合成,并且它们都是广义平稳过程和它们的二阶统计特性都已知。

维纳根据最小均方准则,求得了最佳线性滤波器的的参数,这种滤波器被称为维纳滤波。

二、维纳滤波器的结构
维纳滤波自身为一个FIR 或IIR 滤波器,对于一个线性系统,如果其冲击响应为()n h ,则当输入某个随机信号)(n x 时,
Y(n)=∑-n
)()(m n x m h 式(1)
这里的输入
)()()(n v n s n x += 式(2)
式中s(n)代表信号,v(n)代表噪声。

我们希望这种线性系统的输出是尽可能地逼近s(n)的某种估计,并用s^(n)表示,即
)(ˆ)(y n s
n = 式(3) 因而该系统实际上也就是s(n)的一种估计器。

这种估计器的主要功能是利用当前的观测值x(n)以及一系列过去的观测值x(n-1),x(n-2),……来完成对当前信号值的某种估计。

维纳滤波属于一种最佳线性滤波或线性最优估计,是一最小均方误差作为计算准则的一种滤波。

设信
号的真值与其估计值分别为s(n)和)(ˆn s
,而它们之间的误差 )(ˆ)()(e n s
n s n -= 式(4) 则称为估计误差。

估计误差e(n)为可正可负的随机变量,用它的均方值描述误差的大小显然
更为合理。

而均方误差最小,也就是
])ˆ[()]([E 22s
s E n e -= 式(5) 最小。

利用最小均方误差作为最佳过滤准则比较方便,它不涉及概率的描述,而且以它导出的最佳线性系统对其它很广泛的一类准则而言是属最佳。

三、维纳滤波器的局限
维纳滤波复原法存在着几个实质性的局限。

第一,最有标准是基于最小均方误差的且对所有误差等权处理,这个标准在数学上可以接受,但却是个不适合人眼的方式,原因在于人类对复原错误的感知在具有一致灰度和亮度的区域中更为严重,而对于出现在暗的和高梯度区域的误差敏感性差得多。

第二,空间可变的退化不能用维纳滤波复原法复原,而这样的退化是常见的。

第三,维纳滤波不能处理非平稳信号和噪声。

四、模拟仿真
运行结果
运行程序代码
clear;
I=imread('img_orignal.tif');
figure;
subplot(2,2,1);imshow(I);title('原图像');
[m,n]=size(I);F=fftshift(fft2(I));
k=0.005;
for u=1:m
for v=1:n
H(u,v)=exp((-k)*(((u-m/2)^2+(v-n/2)^2)^(5/6)));
end
end
G=F.*H;
I0=real(ifft2(fftshift(G)));
I1=imnoise(uint8(I0),'gaussian',0,0.001)
subplot(2,2,2);imshow(uint8(I1));title('模糊退化且添加高斯噪声的图像');
F0=fftshift(fft2(I1));
K=0.1;
for u=1:m
for v=1:n
H(u,v)=exp(-k*(((u-m/2)^2+(v-n/2)^2)^(5/6)));
H0(u,v)=(abs(H(u,v)))^2;
H1(u,v)=H0(u,v)/(H(u,v)*(H0(u,v)+K));
end
end
F2=H1.*F0;
I2=ifft2(fftshift(F2));
subplot(2,2,3);imshow(uint8(I2));title('维纳滤波复原图');
五、结论与心得体会
通过这个实验,使我们更加深刻和具体的了解到了维纳滤波的原理,功能以及在图像处理方面的应用。

维纳滤波器是对噪声背景下的信号进行估计,它是最小均方误差准则下的最佳线性滤波器。

在实验的过程中,我发现采用维纳滤波复原可以得到比较好的效果,这个算法可以使估计的点扩散函数值更加接近它的真实值。

但实现维纳滤波的要求是①输入过程是广义平稳的;②输入过程的统计特性是已知的。

根据其他最佳准则的滤波器也有同样的要求。

然而,由于输入过程取决与外界信号,干扰环境,这种环境的统计特性常常是未知的,变化的,因而这两个要求很难满足,这就促使人们研究自适应滤波器。

附:维纳滤波器的设计方法
维纳-霍夫方程
维纳滤波器的设计,实际上就是在最小均方误差条件下探索和确定滤波器的冲激函数h(n)或系统函数H(z),也就是求解维纳-霍夫方程的问题。

对于物理可实现系统,由(1)式得
∑∞
=-==0)()()(ˆ)(y m m n x m h n s
n 式(6) 它实现的是将当前的及过去的诸输入值作相应的加权后的求和运算。

故维纳滤波的设计则是确定均方误差
}])()()({[)]([E 202
∑∞
=--=m m n x m h n s E n e 式(7) 最小意义下的冲激响应h(n)。

为便于得出矩阵表达式,我们将(6)式改写成
i x ∑∞
==1i i h (n)s
ˆ 式(8) 式中
)
1()()
1()(1
m ,1i +-=-=-==-=+=i n x m n x x i h m h h i m i i 或 式(9)
因此
])[()]([E 21
2
∑∞=-=i i i x h s E n e 式(10) 为求得])[(21∑∞=-i i
i x h s E 最小时的{h i },我们将(10)式对h i 求偏导,得
1},x )]([2{)]([E i 22112≥-⋯++-=∂∂i x h x h s E h n e i
)( 式(11) 再令其为零,即
1,0])[(E 1
≥=-∑∞
=i x x h s i i i i
或,1,0][E ≥=j ex j 式(12)
从而可以确定我们所需要的{h i }。

由于(12)式看出,满足正交性原理与满足均方误差最小的条件是一致的。

由于i j x i j x x E x ][φ=,以及s x j j x E φ=]s [,将其代入(12)式可得
1,1i ≥=∑∞=i h i
j j x x i s x φφ 式(13) 若将(13)式与(15)式称为维纳-霍夫方程。

为表述的方便,我们将维纳-霍夫方程写成矩阵形式,即
]][[][h xx xs φφ= 式(16) 式中][][2
1s
x s x s x xs n φφφφ⋯
= 式(17) 为x 与s 的互相关矩阵。


⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡⎪⎪⎪⎪⎪⎪⎭⎫
⎝⎛⋯⋯⋯⋯⋯⋯=n n n n n x x x x x x x x x x x x x x x x xx φφφφφφφφφφ212221
2n 12111x x ][ 式(18) 则为x 的自相关矩阵。

以及
[]⎥⎥⎥⎥⎦
⎤⎢⎢⎢⎢⎣⎡⋯=n h h h 21h 式(19) 式中的h 1,h 2,…h n 为h(n)在n=0,1,…,n-1时的样本值。

从(16)式即可解得
][][][][1ns nn opt h h φφ-== 式(20) 最小均方误差的表达式为 opt T ns s h n e ][)()]([E 22φσ-= 式(21) 又可写成
opt T xs s h n e ][)()0()]([E s 2φσ-= 式(22)。

相关主题