7. 图像复原(下)

7.1 图像退化与复原模型

在这里插入图片描述
公式表示:
在这里插入图片描述

7.2 估计退化函数

我们在处理图像复原问题时,往往都是假设退化函数已知,那么这个退化函数该如何去知道呢?这就需要事先估计退化函数,主要方法有以下三种:
1)图像观察估计法
设Gs(u,v)为观测到图像的子图像,Fs(u,v)为原始子图像的估计值,假设由于选择我们选择的是强信号区域,因此噪声可以忽略,有:

在这里插入图片描述
然后我们可以从Hs(u,v)推导出完整的函数H(u,v).
2)实验估计方法
假设我们已知图像的成像设备,拿这个设备去拍摄一幅已知频域的图像,比如一面白墙,经过过傅里叶变换,求得H(u,v):

在这里插入图片描述
3)模型估计法
Hufnagel等[1964]基于大气湍流的物理特征提出:

在这里插入图片描述
大气湍流模型的示例:
在这里插入图片描述

7.3 建模运动带来的图像模糊退化

1)现在,假设一幅图像由于相机的匀速直线运动变得成像模糊了,该过程可以建模为:
在这里插入图片描述
我们对它进行傅里叶变换,有:
在这里插入图片描述

特别地,若 :
在这里插入图片描述
那么:
在这里插入图片描述
若:
在这里插入图片描述
那么:
在这里插入图片描述

2)利用matlab对运动产生的图像模糊进行建模
运动产生的图像模糊可以通过 matlab 图像处理工具相中的函数 fspecial 进行建模:

%len 表示移动几个像素 theta为移动的角度
PSF = fspecial(’motion’,len,theta)
g= imfilter(f,PSF,'circular');
g = g+noise;

测试图像可以通过函数 checkerboard 来生成,它的语法是:

%NP为每个正方形一边的像素数 M为棋盘行数,N为列数
C = checkerboard(NP,M,N)
f=checkerboard(8);
imshow(f)

在这里插入图片描述
利用matlab对运动产生的图像模糊进行建模举例:

f=checkerboard(8);
subplot(2,2,1);imshow(f);title('原图');
PSF=fspecial('motion',7,45);
gb=imfilter(f,PSF,'circular');
noise=imnoise(zeros(size(f)),'gaussian',0,0.001);
g=gb+noise;
subplot(2,2,2);imshow(gb,[]);title('添加运动模糊');
subplot(2,2,3);imshow(noise,[]);title('噪声图');
subplot(2,2,4);imshow(pixeldup(g,8),[]);title('添加噪声图');

在这里插入图片描述

7.4 逆滤波

图像退化过程:

在这里插入图片描述
对于一幅被退化函数 H 降质的图像,最简单的复原方法就是直接采用逆滤波,即:
在这里插入图片描述
加上噪声项:

在这里插入图片描述
如果退化函数在某一个频率点的值为零或很小的值,那么比值 可以很容易压制信号,造成 的估计存在较大误差。一种解决方法是只利用原点附近退化函数的值来进行逆滤波的计算。
逆滤波实验:
在这里插入图片描述
逆滤波实际情况很少用。

7.5 维纳滤波

1)维纳滤波器寻求能最小化下面的统计误差函数的估计值:
在这里插入图片描述
其中 E 为求取数学期望值的算子,f为没有退化的图像。这个表达式在频域中的解为:
在这里插入图片描述
其中H(u,v)为退化函数
在这里插入图片描述
通常情况下,我们使用维纳滤波的变型:
在这里插入图片描述
其中K为噪信功率比,我们通常取一个噪信功率的均值之比。如果K=0,就变成了逆滤波器。
在IPT中,维纳滤波是使用deconvwnr函数实现的,具体形式如下:

fr=deconvwnr(g,PSF)
fr=deconvwnr(g,PSF,NSPR)
fr=deconvwnr(g,PSF,NACORR,FACORR)

其中fr表示复原图像,g表示退化图像,PSF表示图像模糊,NSPR表示噪信功率比K,NACORR和FACORR表示噪声和未退化图像的自相关函数。

2)Matlab中的维纳滤波

f=checkerboard(8);
subplot(2,2,1);imshow(f);title('原图');
PSF=fspecial('motion',7,45);
gb=imfilter(f,PSF,'circular');
noise=imnoise(zeros(size(f)),'gaussian',0,0.001);
g=gb+noise;

fr1=deconvwnr(g,PSF);
subplot(2,2,2);imshow(fr1);title('K为0的维纳滤波');
Sn=abs(fft2(noise)).^2;
nA=sum(Sn(:))/prod(size(noise));
Sf=abs(fft2(f)).^2;
fA=sum(Sf(:))/prod(size(f));
R=nA/fA;
fr2=deconvwnr(g,PSF,R);
subplot(2,2,3);imshow(fr2);title('K为均值之比的维纳滤波');
NCORR=fftshift(real(ifft2(Sn)));
ICORR=fftshift(real(ifft2(Sf)));
fr3=deconvwnr(g,PSF,NCORR,ICORR);
subplot(2,2,4);imshow(fr3);title('使用相关系数维纳滤波');

在这里插入图片描述
通常情况下,噪声自相关系数和原图像自相关系数我们是不知道的,所以就要去调节K的大小,来获得较好复原。
如果复原的图像显示振铃现象,有时在调用 deconvwnr 之前使用 edgetaper函数会有所帮助:

J=edgetaper(I,PSF)

7.6 约束最小二乘法图像复原算法

1)对于本章讨论的所有方法来说,普遍都需要已知退化函数 的所有信息。
2)使用维纳滤波方法存在的困难:必须知道未退化图像和噪声的功率谱。
3)对功率谱比的恒定估计有时可以取得很好的结果,但并不意味着它总是一种很好的解决方法。
4)下面将要讨论的约束最小二乘滤波方法只需要知道噪声的均值和方差。

5)如果我们用矩阵来建模退化过程,有:
在这里插入图片描述
可以将卷积过程变为矩阵和向量乘积。
该方法的核心是H对噪声的敏感性问题。缓解这个问题的一种方法是将复原计算建立在一个图像平滑度的度量上。拉普拉斯算子(图像的二阶导数)似乎是一个不错的选择。
在这里插入图片描述
该问题在频域中的解为:
在这里插入图片描述

令:
在这里插入图片描述
并且:
在这里插入图片描述
可以证明关于r的单调递增函数 所以我们可通过调整 ,使得:
在这里插入图片描述

问题是:我们如何计算||n||2呢?
在这里插入图片描述

计算过程为已知||n||2,给定一个初始gamma,因为gama关于||r||2是递增的,通过迭代使得如下式子成立:
在这里插入图片描述
就可以解除一个gamma值,通过反傅里叶变换就可以恢复图像。

6)约束最小二乘在IPT使用deconvreg函数实现,语法为:

fr = deconvreg(g,PSF,NOISEPOWER,RANGE)

g是被污染的图像,fr是复原的图像,NOISEPOWER与||n||2成正比,也就是gamma的初始值,RANGE为gamma的取值范围。NOISEPOWER较好的估计值为 MN* [均值方 + 方差]。

7)示例:

f=checkerboard(8);
subplot(2,2,1);imshow(f);title('原图');
PSF=fspecial('motion',7,45);
gb=imfilter(f,PSF,'circular');
noise=imnoise(zeros(size(f)),'gaussian',0,0.001);
g=gb+noise;
fr = deconvreg(g,PSF,4);
subplot(1,2,1);imshow(fr,[]);title('默认gamma取值范围');
%调整gamma取值范围
fr = deconvreg(g,PSF,0.4,[1e-7, 1e7]);
subplot(1,2,2);imshow(fr);title('改变gamma取值范围并换初值');

在这里插入图片描述

数字图像在获取的过程中,由于光学系统的像差、 光学成像衍射、 成像系统的非线性畸变、 摄影胶片的感光的非线性、 成像过程的相对运动、 大气的湍流效应、环境随机噪声等原因, 图像会产生一定程度的退化。因此,必须采取一定的方尽可能地减少或消除图像质量的下降,恢复图像的本来面目, 这就是图像复原, 也称为图像恢复。 图像复原图像增强有类似的地方, 都是为了改善图像。但是它们又有着明显的不同。图像复原是试图利用退化过程的先验知识使已退化的图像恢复本来面目,即根据退化的原因, 分析引起退化的环境因素,建立相应的数学模型, 并沿着使图 像降质的逆过程恢复图像。从图像质量评价的角度来看, 图像 复原就是提高图像的可理解性。而图像增强的目的是提高视感 质量,图像增强的过程基本上是一个探索的过程, 它利用人的心理状态和视觉系统去控制图像质量, 直到人们的视觉系统满意为止。 图像复原是利用退化现象的某种先验知识,建立退化现象的数学模型,再根据模型进行反向的推演运算,以恢复原来的景物图像。因而,图像复原可以理解为图像降质过程的反向过程。建立图像复原的反向过程的数学模型,就是图像复原的主 要任务。经过反向过程的数学模型的运算,要想恢复全真的景物图像比较困难。所以, 图像复原本身往往需要有一个质量标 准, 即衡量接近全真景物图像的程度,或者说,对原图像的估 计是否到达最佳的程度。 由于引起退化的因素众多而且性质不同,为了描述图像退化过程所建立的数学模型往往多种多样,而恢复的质量标准也往往存在差异性,因此图像复原是一个复杂的数学过程,图像复原的方、技术也各不相同。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值