• 首页 > 泰州领晟
  • 维纳(Wiener)滤波、约束最小二乘滤波算法、Lucy-Richardson算法和盲解卷积算法

    摘要 图像在采集、传输和存储过程中会受到模糊、畸变、噪声等因素的影响,这些原因都会降低图像的质量。 因此,我们需要采取一定的方法,尽可能减少或消除图像质量的下降,恢复图像的本来面貌,这就是图像恢复。 通过阅读图像复原技术的相关资料,本文主要讨论了维纳滤波、约束最小二乘滤波算法、Lucy-Richardson算法和盲反卷积算法,并使用到的相关工具箱函数deconvwnr函数、deconvreg函数、deconvlucy函数和deconvblind函数分别是用于模拟。 此外,本文对上述算法进行了仿真,并对四种算法的实验结果进行了分析。

    关键词 图像恢复; 维纳滤波器恢复; 约束最小二乘滤波器恢复; 露西-理查森修复; 盲解卷积恢复

    前言

    在实际的日常生活中,人们不得不接触到许多图像和图片。 在场景成像过程中,可能会出现模糊、失真或噪声,最终导致图像质量下降。 这种现象称为图像“劣化”。 因此,我们可以采取一些技术手段,尽量减少甚至消除图像质量的下降,恢复图像的本来面貌,即在预定意义上改善给定的图像。 这就是图像恢复。 虽然图像增强和图像恢复之间存在重叠,但前者主要是一个主观过程,而图像恢复主要是一个客观过程。 恢复试图通过使用退化现象的先验知识来重建或恢复退化的图像。 因此,恢复技术倾向于对退化进行建模,并使用相反的过程来恢复原始图像,即考虑使用模糊函数来消除图像的模糊。 图像模糊的原因有多种,例如运动、高斯噪声、散斑噪声、椒盐噪声等。

    本文主要研究离焦模糊图像的恢复。 离焦模糊图像是指拍摄时由于景物与相机的相对移动而造成的离焦,或者由于成像区域内不同深度的物体而造成的离焦,也由于成像区域内存在不同深度的物体而造成的离焦。可能会导致自动对焦系统混乱,导致照片失焦。 因此,本文研究利用MATLAB对退化现象进行建模,并利用MATLAB模拟了几种常用的滤波方法,为人们在不同的应用场景、不同的图像数据条件下选择不同的恢复算法提供了一定的依据。 .

    1 图像退化/恢复处理模型

    离散信号傅立叶变换_数字信号处理离散傅里叶变换_离散信号的傅里叶变换 matlab函数

    离散信号的傅里叶变换 matlab函数_数字信号处理离散傅里叶变换_离散信号傅立叶变换

    由于退化是线性的,因此空间不变的退化函数可以建模为卷积。 同样,恢复过程有时称为反卷积。

    2 噪声特性

    图像噪声是图像在采集或传输时受到的随机信号干扰。 正是图像中的多种因素阻碍了人们对其信息的接受。 图像噪声往往被视为多维随机过程,因此描述噪声的方法完全可以借用随机过程的描述,即利用其概率分布函数和概率密度分布函数。 很多情况下离散信号的傅里叶变换 matlab函数,这些函数很难测量和描述,甚至无法获得,因此常用统计特征来描述噪声,如均值、方差和相关函数。

    离散信号的傅里叶变换 matlab函数_离散信号傅立叶变换_数字信号处理离散傅里叶变换

    3 噪声的分类

    1、按干扰源分类

    图像噪声根据其干扰源可分为外部噪声和内部噪声。

    外部噪声是指系统外部干扰通过电磁波或电源进入系统而引起的噪声。 如电气设备引起的噪音、天体放电现象等。

    内部噪声:一般可分为以下四种:

    由光和电的基本特性引起的噪声。 例如,电流的产生是由电子或空穴粒子集合的定向运动引起的。 这些粒子运动的随机性引起的散粒噪声; 导体中自由电子不规则热运动引起的热噪声; 根据光的粒子性,图像是通过光量子来传输的,光量子的密度随时间和空间的变化而形成的光量子噪声等。电器机械运动产生的噪声。 例如,各种连接器抖动引起的电流变化引起的噪声; 磁头、磁带等或一起的抖动。 设备材料本身引起的噪音。 如正负片表面颗粒感以及磁带盘表面缺陷产生的噪音等。 随着材料科学的发展,这些噪音预计会继续减少,但就目前而言,它们仍然是不可避免的。 系统内部设备电路引起的噪声。 如电源引入的交流噪声; 偏转系统和钳位电路等引起的噪声。

    2.根据噪声与信号的关系

    离散信号的傅里叶变换 matlab函数_离散信号傅立叶变换_数字信号处理离散傅里叶变换

    乘性语音和图像信号是相关的,并且常常随着图像信号的变化而变化,例如飞点扫描图像中的语音、电视扫描光栅、胶片颗粒等,这是由于承载每个像素信息的载体的性质所致。 变化产生的噪声由信息本身调制。 在某些情况下,信号变化很小,噪声也很小。 为了分析和处理的方便,乘性噪声常常被近似为加性噪声,并且总是假设信号和噪声在统计上相互独立。

    3.根据概率密度函数划分

    这一点比较重要,主要是因为数学模型的引入,有助于用数学手段去除噪声。

    (1)白噪声:具有恒定的功率谱。 白噪声的一个特例是高斯噪声。 在空间和频率域中,由于高斯噪声的数学易处理性,这种噪声(也称为正态噪声)模型在实践中经常使用。 事实上,这种易处理性非常方便,以至于高斯模型通常适用于面向街道的情况。 其直方图曲线服从一维高斯分布:

    离散信号的傅里叶变换 matlab函数_离散信号傅立叶变换_数字信号处理离散傅里叶变换

    (2)胡椒噪声:椒盐噪声是图像传感器、传输通道、解码过程等产生的黑白交替亮点和暗点噪声,往往是由图像剪切引起的。 椒盐噪声指的是两种噪声,一种是盐噪声,一种是胡椒噪声。 盐=白,胡椒=黑。 前者为高灰度噪声,后者为低灰度噪声。 一般两种噪声同时出现,在图像上表现为黑白噪声。 这种噪声在图像中更为明显,对图像分割、边缘检测、特征提取等后续处理具有严重的破坏性影响。

    (3)脉冲噪声:指图像被个别噪声像素破坏,并且这些噪声像素的亮度与其场的亮度显着不同。 撞击噪声突然发生,往往是由外界因素引起的; 其噪声幅值可能相当大,无法通过提高信噪比来避免。 这是传输过程中的一个重大错误。

    (4)量化噪声:指量化级别不同时出现的噪声。 例如,当将图像的亮度级别降低一半时,会出现错误轮廓。

    4 直接逆滤波

    恢复退化图像的最简单方法是制定以下形式的估计:

    然后使用傅立叶逆变换来获得图像的相应估计。 这种方法称为逆滤波。根据前面讨论的模型,我们可以将估计表示为

    离散信号傅立叶变换_数字信号处理离散傅里叶变换_离散信号的傅里叶变换 matlab函数

    这个简单的表达式告诉我们,即使及时准确地知道,也无法恢复,因为噪声分量是随机函数,其傅里叶变换是未知的。 另外,在实际中,零的情况很多,这也是一个问题。 即使该项可以忽略不计,将其除以零值也将控制回收率估计。

    当使用逆滤波时,典型的方法是形成比率,然后将频率范围限制到接近原点的频率以获得倒数。 这个概念是零不太可能出现在原点附近,因为变换后的值通常是该区域中的最高值。

    5 维纳滤波器

    维纳滤波(N. Wiener于1942年首次提出的方法)是最早、最著名的线性图像恢复方法之一。维纳滤波器寻找一个使统计误差

    数字信号处理离散傅里叶变换_离散信号的傅里叶变换 matlab函数_离散信号傅立叶变换

    离散信号的傅里叶变换 matlab函数_数字信号处理离散傅里叶变换_离散信号傅立叶变换

    我们感兴趣的两个量,平均噪声功率和平均图像功率,分别定义为

    数字信号处理离散傅里叶变换_离散信号的傅里叶变换 matlab函数_离散信号傅立叶变换

    在这种情况下,即使真实比率未知,通过交互式地改变常数并观察恢复的结果来进行实验也变得很简单。 当然,假设函数恒定是一个粗略的近似。 在前面的滤波器方程中替换常量数组会产生所谓的参数维纳滤波器。

    在 IPT 中,维纳滤波是使用函数 deconvwnr 实现的,该函数具有三种可能的语法形式。 在所有这些形式中,g 表示退化图像,fr 表示恢复图像。 第一种语法形式

    fr=deconvwnr(g,PSF)

    假设信噪比为零。 因此,这种形式的维纳滤波器就是上面提到的逆滤波器。 语法

    fr=deconvwnr(g,PSF,NSPR)

    假设信噪功率比已知,可以是常数或数组; 该函数接受其中之一。 这是实现参数维纳滤波器的语法,在这种情况下,NSPR 可以是交互式标量输入。最后离散信号的傅里叶变换 matlab函数,语法

    fr=deconvwnr(g,PSF,NACORR,FAVORR)

    假设噪声和未降级图像的自相关函数 NACORR 和 FAVORR 已知。 请注意,这种形式的 deconvwnr 使用自相关 和 来代替这些函数的功率谱。从相关理论我们知道

    其中,“”代表相关运算,代表傅里叶变换。 该表达式说明了 deconvwnr 的用法。 通过计算功率谱的傅里叶变换,可以获得自相关函数。 噪声的自相关也有类似的注释。

    如果恢复的图像出现由算法中使用的离散傅立叶变换引入的振铃,则通常提醒我们,当调用

    J=边锥度(I,PSF)

    该函数使用点扩散函数 PSF 来模糊输入图像 I 的边缘。这样,输出图像 J 就是图像 I 和 I 的模糊版本的加权和。这个加权数组由PSF 使 J 在其中心区域等于 I,并在边缘附近等于 I 的模糊版本。

    使用 deconvwnr 函数恢复模糊噪声图像:

    f=imread('摄像师.jpg');

    LEN=30;

    西塔=45;

    PSF=fspecial('运动',LEN,THETA);

    MF=imfilter(f,PSF,'圆形','转换');

    wnr=deconvwnr(MF,PSF);

    subplot(2,2,1);imshow(f);title('原始图像​​');

    subplot(2,2,2);imshow(MF);title('模糊图像');

    subplot(2,2,3);imshow(wnr);title('恢复的图像');

    离散信号的傅里叶变换 matlab函数_数字信号处理离散傅里叶变换_离散信号傅立叶变换

    经过仿真后,如图所示,虽然我们得到的结果仍然存在一些噪声,但已经非常接近原始图像了。 由于原始图像和噪声函数都是已知的,因此可以正确估计参数。 在实践中,当这些量中的一个(或多个)未知时,面临的挑战是智能地选择实验中使用的函数,直到获得可接受的结果。

    6 约束最小二乘过滤

    离散信号傅立叶变换_离散信号的傅里叶变换 matlab函数_数字信号处理离散傅里叶变换

    离散信号的傅里叶变换 matlab函数_数字信号处理离散傅里叶变换_离散信号傅立叶变换

    约束最小二乘滤波器恢复函数deconvreg的调用格式:deconvreg(I, PSF, NP, LRANGE, REGOP),其中I表示输入图像,PSF表示点扩散函数,NP、LRANGE(输入)和REGO可选参数 ,分别表示图像的噪声强度、拉格朗日算子和约束算子的搜索范围。 同时,该函数还可以在指定范围内搜索最优拉格朗日算子。 下面通过一个程序示例来说明约束最小二乘滤波来恢复图像:

    i=imread('摄像师.jpg');

    PSF=fspecial('高斯',10,4);

    模糊=imfilter(I,PSF,'conv');

    V=.03;

    BN=imnoise(模糊,'高斯',0,V);

    NP=V*prod(尺寸(I));

    [reg LAGRA]=deconvreg(BN,PSF,NP);

    边缘=edgetaper(BN,PSF);

    reg2=deconvreg(边缘,PSF,NP/1.2);

    reg3=deconvreg(Edged,PSF,[],LAGRA);

    数字

    subplot(2,3,1);imshow(I);title('原始图像​​');

    subplot(2,3,2);imshow (BN);title('添加高斯噪声的图像');

    subplot(2,3,3);imshow (reg);title('恢复的图像');

    subplot(2,3,4);imshow(reg2);title('环抑制图像');

    subplot(2,3,5);imshow(reg3);title('拉格朗日算子恢复图像');

    离散信号傅立叶变换_离散信号的傅里叶变换 matlab函数_数字信号处理离散傅里叶变换

    图6 约束最小二乘回收率对比图

    使用振铃抑制进行图像恢复是多种方法中恢复效果最好的。 其他几种方法也可以恢复,但比较模糊,效果也不是很明显。

    7 使用 Lucy-Richardson 算法迭代非线性恢复

    Lucy-Richardson(LR)算法假设图像服从泊松分布,并使用最大似然法进行估计。 它是一种基于贝叶斯分析的迭代算法,其最优估计以最大似然准则为标准,即概率密度函数必须

    离散信号的傅里叶变换 matlab函数_离散信号傅立叶变换_数字信号处理离散傅里叶变换

    缺点是噪音大。 因此,处理噪声项是LR算法应用于低信噪比图像恢复的关键。

    在IPT中,LR算法是通过一个叫做deconvlucy的函数来完成的。 该函数的语法是

    fr=deconvlucy(g,PSF,NUMIT,DAMPAR,WEIGHT)

    其中,fr代表恢复图像,g代表退化图像,PSF是点扩散函数,NUMIT是迭代次数(默认为10),DAMPAR和WEIGHT定义如下。

    DAMPAR 是一个标量,指定结果图像与原始图像 g 之间的偏差阈值。 当像素与原始值的偏差范围在DAMPAR内时,不需要再次迭代。 这既可以抑制这些像素上的噪声,又可以保留必要的图像细节。 默认值为 0(无衰减)。

    WEIGHT是一个与g大小相同的数组,它为每个像素分配一个权重以反映其权重。 当使用指定的 PSF、WEIGHT 模拟模糊时

    那些来自图像边界的像素可以从计算的像素中消除,因此PSF引起的模糊是不同的。 如果PSF的大小为 ,则WEIGHT中使用的零边界的宽度为ceil (n/2)。 默认值是与输入图像g大小相同的单位数组。 如果恢复的图像出现由算法中使用的离散傅立叶变换引入的振铃,请在调用 deconvlucy 函数之前使用 edgetaper 函数。

    下面通过一个程序示例来说明图像恢复的Lucy-Richardson算法:

    I=imread('lajiao.jpg');

    PSF=fspecial('高斯',5,5);

    模糊=imfilter(I,PSF,'对称','转换');

    V=.003;

    BN=imnoise(模糊,'高斯',0,V);

    luc=deconvlucy(BN,PSF,5);

    数字

    subplot(2,2,1);imshow(I);title('原始图像​​');

    subplot(2,2,2);imshow(模糊);title('模糊图像');

    subplot(2,2,3);imshow (BN);title('噪声图像');

    subplot(2,2,4);imshow (luc);title('恢复的图像');

    离散信号傅立叶变换_离散信号的傅里叶变换 matlab函数_数字信号处理离散傅里叶变换

    图7.1 Lucy-Richardson恢复对比图

    从图中我们可以看出,经过多次迭代,尤其是在低信噪比的情况下,重建的图像可能会出现一些斑点。 这些斑点并不代表图像的真实结构,是由于输出图像太接近噪声而造成的。 结果。

    8 盲解卷积

    通常图像恢复方法是在已知成像系统的点扩散函数PSF的情况下进行的,但实际上它通常是未知的。 当PSF未知时,盲反卷积是实现图像恢复的有效方法。 因此,那些不基于PSF知识的图像恢复方法统称为盲反卷积算法。

    在过去的20年里,盲反卷积方法受到了极大的关注。 它基于最大似然估计 (MLE),即使用受随机噪声干扰的量进行的估计。 优化策略。 简而言之,MLE方法的一种解释是将图像数据视为随机量,其与另一族可能的随机量具有一定程度的似然性。 似然函数用 、 和 来表示,然后问题就变成了寻找最大似然函数。 在盲反卷积中,在假设收敛的情况下迭代地求解优化问题指定的约束,并且获得的最大和是恢复的图像和PSF。

    该工具箱通过函数 deconvblind 执行盲反卷积,其语法如下:

    [f,PSFe]=去卷积盲(g,INITPSF)

    其中,g表示退化函数,INITPSF是点扩散函数的事故估计。 PSFe是该函数最终计算出的估计值,fr是使用估计的PSF恢复的图像。 用于恢复图像的算法是LR迭代恢复算法。 PSF 估计很大程度上受其初始推断大小的影响,而很少受其值的影响。

    如果恢复的图像出现由算法中使用的离散傅立叶变换引入的振铃,则值得调用函数 deconvblind,通常使用函数 edgetaper。 下面我们使用函数 deconvblind 来估计 PSF:

    I=imread('lajiao'.jpg');

    PSF=fspecial('运动',10,30);

    模糊=imfilter(I,PSF,'circ','conv');

    INITPSF=个(大小(PSF));

    [JP]=去卷积盲(模糊,INITPSF,20);

    数字

    subplot(2,2,1);imshow(I);title('原始图像​​');

    subplot(2,2,2);imshow(模糊);title('模糊图像')

    subplot(2,2,3);imshow (J);title('初始修复后的图像');

    离散信号的傅里叶变换 matlab函数_数字信号处理离散傅里叶变换_离散信号傅立叶变换

    该算法的优点在于它同时恢复图像和点扩展函数,并且在没有任何畸变情况的先验知识的情况下仍然可以实现模糊图像的恢复操作。 利用MATLAB实现图像复原,改善了复原图像的畸变现象。 在进行图像复原时,对PSF进行重建,对图像进行重建,得到复原图像。

    总结

    本文介绍了图像劣化的原因,并简要介绍了当前主流的图像修复方法。 通过对各种修复方法的模拟,我们了解了各种方法的优缺点,为我们的实际生活提供了基础。 然而,无论使用哪种方法,都有其局限性。 我们应该努力研究新的、优秀的图像修复方法,以获得更好的图像修复效果。 同时我们知道,算法使用的信息越多、信息的准确度越高,恢复的图像质量就越高。 此外,利用MATLAB实现图像复原。 只需几个简单的MATLAB命令,就可以完成大量只有高级计算机语言才能完成的任务,简单明了。 大多数图像处理模型都可以使用 MATLAB 的基本函数以编程方式实现。

    参考

    [1] 张燕妮. 离焦模糊恢复方法研究[D]. 大连:大连理工大学,2005

    [2]徐飞. 石晓红. MATLAB应用图像处理[M]. 西安电子科技大学出版社,2002。

    [3] 卢靖袜,王冬梅。 基于MATLAB的图像复原算法研究[D]. 硕士论文。

    [4]阮秋琪等译. 数字图像处理(MATLAB版)[M]. 北京:电子工业出版社,2005。

    [5]张德峰,张普庆。 维纳滤波图像复原的理论分析与实现[J]. 中山大学学报,2006,45(6)44-47。

    [6]14曹茂勇,孙农良,于道银。 离焦模糊图像清晰度评价函数研究[J]. 仪器仪表杂志,2007年,

    22(3):259-268。

    [7] 张玉金. 图像处理与分析[M]. 北京:清华大学出版社,1999。

    [8] 苏开良. 运动模糊图像的复原及复原质量评价[D]. 西安:西安电子科技大学出版社,2010,21-25。

    [9] 龚胜荣,刘春平,王强。 数字图像处理与分析[M],清华大学出版社。 2006年。

    [10]Edmund Y L.小波域离焦图像的数字恢复[J].应用光学.2002,141(126):4806-4811.

    [11]Tnoa Zznia.利用马尔可夫随机场进行盲图像反卷积的模糊识别分析[J]

    .模式识别与图像分析,2001,11(4):699-700。

    [12]威廉克,法拉马兹德。 伪逆和维纳图像恢复的快速计算技术[J]. 计算机上的 IEEE Trans,1997,26 (6) 571-580。

    版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 88888888@qq.com 举报,一经查实,本站将立刻删除。如若转载,请注明出处:http://oruan.cn/html/taizhoulingcheng/465.html

    加载中~

    相关推荐

    加载中~