基于经典滤波算法的图像恢复技术研究

2021-07-27 17:09 来源:电子说

1导言

图像增强是指根据特定需要突出图像中的某些信息,同时弱化或去除某些不必要信息的处理方法。图像增强技术是对图像中观察者的有用信息进行增强,使图像使用更方便,视觉效果更好。

例如,呈现淹没在噪声中的图像,或者将低对比度的图像显示为高对比度的图像,或者强调空间频率的高频分量以使图像色调清晰。传统的图像增强方法包括直方图均衡化、同态增强等。直方图均衡化是一种常用的技术,对于直方图范围较小的图像增强非常有效。

但是对于一些灰度频率较小的区域,对比度会减弱,甚至会消除这种信息。此外,直方图均衡化对噪声敏感,既能增强图像的视觉效果,又能抑制噪声。

图像退化是指由于影响成像系统的各种因素而导致的图像质量的退化。图像退化的原因是成像系统的散焦。成像设备和物体之间的相对运动;成像设备的固有缺陷;外部干扰等。图像复原可以看作是图像退化的逆过程,即估计图像退化的过程,建立退化的数学模型,补偿退化过程引起的失真。

图像复原的难度主要是因为退化过程未知,这种情况下的复原属于盲复原。由于图像模糊,噪声和干扰也同时存在,这也给图像复原带来了困难和不确定性。

光学图像的噪声主要来自图像采集和传输过程。图像采集的数字化过程,如图像传感器质量和环境条件。传输通道的噪声干扰在图像传输过程中,例如通过无线网络传输的图像会受到光线或其他大气因素的干扰。

经典的去噪滤波算法主要去除噪声等高频成分,同时也去除了棱角等细节。通常,人们的视觉主要集中在图像的中间位置,而很少关注边缘部分。因此,比较和研究经典的滤波算法在去除图像噪声和恢复原始图像方面仍然非常有用。

经典滤波算法的去噪与恢复技术

2.1国内外图像复原研究现状

图像恢复,又称图像复原,是图像处理中的一种技术。通过光学和电子方法获得的图像会有不同程度的退化。由于获取图像的方法不同,存在传感器噪声、相机对焦不准、物体与成像设备相对运动、随机大气湍流、光学系统相位差、成像光源或光线散射等多种退化形式。这些因素会降低成像分辨率和对比度。

图像恢复和图像增强是密切相关的,相同的是它们都希望得到某种意义上的改善图像。不同的是,图像增强技术一般依靠人类视觉系统的特性来达到更好的视觉效果,而图像复原则认为图像在一定情况下退化或恶化(图像质量下降),需要根据相应的退化模型和知识对原始图像进行重建或恢复。

数字图像处理研究的很大一部分致力于图像恢复,包括算法的研究和针对特定问题的图像处理程序的编写。对于退化的恢复,一般采用两种方法。一种方法适用于缺乏图像先验知识的情况。

此时,可以对退化过程(模糊和噪声)进行建模,然后可以找到消除或削弱其影响的过程。另一种方法,如果对原始图像有足够的先验知识,那么对原始图像建立数学模型并根据它拟合退化图像更有效。

一般退化模型如下,如图2-1所示。在该模型中,图像退化过程被建模为作用于输入图像f(x,y)的系统h(x,y)。与加性噪声n(x,y)结合,会导致图像g(x,y)退化。根据该模型,图像复原是在给定代表退化的g(x,y)和h(x,y)的基础上,得到f(x,y)的近似过程。假设n(x,y)的统计特性是已知的。

4a6450fe-eb92-11eb-a97a-12bb97331649.jpg

图2-1一般图像退化模型

2.1.1图像噪声过滤

在计算机视觉和图像处理中,经常要考虑图像的噪声污染。图像噪声有多种类型,如加性噪声、乘性噪声、量化噪声、椒盐噪声等。一般的原始图像混合了各种噪声,主要是高斯噪声和椒盐噪声。椒盐噪声的形成通常不依赖于它的相邻像素,而是随机产生的,在图像中表现为黑色或白色污点。原因通常由传输错误、相机传感器元件缺陷或寄存器错位引起。

噪声滤波是图像预处理的基本内容,其目标是在滤除噪声的同时尽可能保留图像的边缘和细节特征。滤波方法很多,大致可以分为线性方法和非线性方法。混合在图像中的高斯噪声一般采用线性均值滤波;

对于图像中混合的椒盐噪声,一般采用非线性方法的中值滤波。中值滤波算法主要滤除椒盐噪声。之后,提出了一系列改进的中值滤波器,包括加权中值滤波器、中心加权中值滤波器和多级中值滤波器。

高斯噪声与椒盐噪声有很大不同。椒盐噪声是极端噪声,只会污染部分像素。被高斯噪声污染的图像每个像素都会被污染。对于同时受到椒盐噪声和高斯噪声污染的图像,通常的方法是先通过中值滤波去除图像中的椒盐噪声,再通过均值滤波去除高斯噪声。

国内外学者提出了自适应加权均值滤波器[4]、基于局部统计的滤波器[5]、权重排序统计滤波器[6]和神经网络技术

滤波器[7]等。

对高污染椒盐噪声的滤波方法国内外学者也进行了部分研究,如对噪声监测和滤波都采用反复递归的PSM算法[8]、Wei-Yu and Ja-Chen-Lin[9]提出了一种MMEM(Minimum-Maximum Exclusive Mean)滤波器来处理高污染噪声图像。Minggang Ma[10]和Mituhiro Okano等[11]把模糊技术引入高污染图像滤波中,Shih-Mao Lu[12]等采用了神经网络的方法。

2.2 几种经典滤波算法

2.2.1 中值滤波

中值滤波是一种非线性信号处理方法,与其对应的中值滤波器也就是一种非线性滤波器。

中值滤波法是一种非线性平滑技术,它将每一像素点的灰度值设置为该点某邻域窗口内的所有像素点灰度值的中值。中值滤波在一定的条件下可以克服线性滤波带来的图像细节模糊问题,且适用于滤除脉冲干扰及图像扫描噪声;

而且,其在使用中不需要分析图像的统计特性。中值滤波法对消除椒盐噪声非常有效,在光学测量条纹图象的相位分析处理方法中有特殊作用,但在条纹中心分析方法中作用不大。对一些细节多,特别是点、线、尖部多的图像,不宜采用中值滤波方法。

2.2.2 高斯平滑滤波

高斯滤波是一种线性平滑滤波,适用于消除高斯噪声,广泛应用于图像处理的减噪过程。通俗的讲,高斯滤波就是对整幅图像进行加权平均的过程,每一个像素点的值,都由其本身和邻域内的其他像素值经过加权平均后得到。高斯滤波的具体操作是:用一个模板(或称卷积、掩模)扫描图像中的每一个像素,用模板确定的邻域内像素的加权平均灰度值去替代模板中心像素点的值。

2.2.3 维纳滤波

维纳滤波(wiener filtering) 是一种基于最小均方误差准则、对平稳过程的最优估计器。这种滤波器的输出与期望输出之间的均方误差为最小,因此,它是一个最佳滤波系统。它可用于提取被平稳噪声所污染的信号。

从连续的(或离散的)输入数据中滤除噪声和干扰以提取有用信息的过程称为滤波,这是信号处理中经常采用的主要方法之一,具有十分重要的应用价值,而相应的装置称为滤波器。根据滤波器的输出是否为输入的线性函数,可将它分为线性滤波器和非线性滤波器两种。维纳滤波器是一种线性滤波器。

2.3 经典滤波算法原理

2.3.1 中值滤波原理

中值滤波是基于排序统计理论的一种能有效抑制噪声的非线性信号处理技术,中值滤波的基本原理是把数字图像或数字序列中一点的值用该点的一个邻域中各点值的中值代替,让周围的像素值接近的真实值,从而消除孤立的噪声点。

方法是用某种结构的二维滑动模板,将板内像素按照像素值的大小进行排序,生成单调上升(或下降)的为二维数据序列。二维中值滤波输出为g(x, y)=med{f(x-k, y-l),(k, l∈ W)},其中,f(x, y)、g(x, y)分别为原始图像和处理后图像。W为二维模板,通常为3*3,5*5区域,也可以是不同的的形状,如线状,圆形,十字形,圆环形等。

2.3.2 高斯平滑滤波原理

由于高斯函数的傅立叶变换仍是高斯函数, 因此高斯函数能构成一个在频域具有平滑性能的低通滤波器。可以通过在频域做乘积来实现高斯滤波。均值滤波是对信号进行局部平均, 以平均值来代表该像素点的灰度值。

矩形滤波器(Averaging Box Filter)对这个二维矢量的每一个分量进行独立的平滑处理。通过计算和转化 ,得到一幅单位矢量图。这个 512×512的矢量图被划分成一个 8×8的小区域 ,再在每一个小区域中 ,统计这个区域内的主要方向 ,亦即将对该区域内点方向数进行统计,最多的方向作为区域的主方向。

于是就得到了一个新的64×64的矢量图。这个新的矢量图还可以采用一个 3×3模板进行进一步的平滑。

高斯滤波实质上是一种信号的滤波器,其用途是信号的平滑处理,人们知道数字图像用于后期应用,其噪声是最大的问题,由于误差会累计传递等原因,很多图像处理教材会在很早的时候介绍Gauss滤波器,用于得到信噪比SNR较高的图像(反映真实信号)。

与此相关的有Gauss-Laplace变换,其实就是为了得到较好的图像边缘,先对图像做Gauss平滑滤波,剔除噪声,然后求二阶导矢,用二阶导的过零点确定边缘,在计算时也是频域乘积=》空域卷积。

滤波器就是建立的一个数学模型,通过这个模型来将图像数据进行能量转化,噪声就是属于高频率部分,高斯滤波器平滑处理后降低噪声的影响。

2.3.3 维纳滤波原理

维纳滤波的基本原理是:设观察信号y(t)含有彼此统计独立的期望信号x(t)和白噪声ω(t)可用维纳滤波从观察信号y(t)中恢复期望信号x(t)。设线性滤波器的冲击响应为h(t),此时其输入y(t)为y(t)=x(t)+w(t),输出:

4a90ab22-eb92-11eb-a97a-12bb97331649.jpg

(2-1)

从而,可以得到输出。

对x(t)期望信号的误差为

4aab4946-eb92-11eb-a97a-12bb97331649.jpg

(2-2)

其均方误差为

4ac6c996-eb92-11eb-a97a-12bb97331649.jpg

(2-3)

E[ ]表示数学期望。应用数学方法求最小均方误差时的线性滤波器的冲击响应hopt(t)可得如(4)方程。

4ae458f8-eb92-11eb-a97a-12bb97331649.jpg

(2-4)

式中,Ryx(t)为y(t)与x(t)的互相关函数,Ryy(τ-σ)为y(t)的自相关函数。上述方程称为维纳-霍夫(Wiener-Hopf)方程。求解维纳-霍夫方程可以得到最佳滤波器的冲击响应hopt(t)。在一般情况下,求解上述方程是有一定困难的,因此这在一定程度上限制了这一滤波理论的应用。然而,维纳滤波对滤波和预测理论的开拓,影响着以后这一领域的发展。

2.4 设计过程

2.4.1 原始彩色图像灰度化

本课程设计题目要求为:给定一幅模糊或含噪的图像,用图像增强或图像复原技术,改善图像质量,并给出PSNR指标。

基于本题目,给出如下的设计过程。首先读取一幅原始清晰图像并将其灰度化,然后添加不同类型的噪声,对加噪图像进行滤波算法处理,最后计算恢复图像与原始灰度图像的峰值信噪比,因此整个设计过程如2-2所示。

4afb6cfa-eb92-11eb-a97a-12bb97331649.jpg

图2-2 图像复原处理过程

在Matlab编程时,可以预先在程序文件夹目录里存放一张彩色(或灰度)图片,通过imread函数读取图片。当然也可以直接读取Matlab图片库中的图片。通过rgb2gray函数将彩色图像转化为灰度图像,以便于后续处理。图2-3为读取一幅彩色图像与其灰度化图像。

4b47d8c4-eb92-11eb-a97a-12bb97331649.jpg

图2-3 原始彩色图像与其灰度图

将彩色图像转化成为灰度图像的过程称为图像的灰度化处理。彩色图像中的每个像素的颜色有R、G、B三个分量决定,而每个分量有255中值可取,这样一个像素点可以有1600多万(255*255*255)的颜色的变化范围。

而灰度图像是R、G、B三个分量相同的一种特殊的彩色图像,其一个像素点的变化范围为255种,所以在数字图像处理种一般先将各种格式的图像转变成灰度图像以使后续的图像的计算量变得少一些。灰度图像的描述与彩色图像一样仍然反映了整幅图像的整体和局部的色度和亮度等级的分布和特征。图像的灰度化处理可用两种方法来实现。

第一种方法使求出每个像素点的R、G、B三个分量的平均值,然后将这个平均值赋予给这个像素的三个分量。

第二种方法是根据YUV的颜色空间中,Y的分量的物理意义是点的亮度,由该值反映亮度等级,根据RGB和YUV颜色空间的变化关系可建立亮度Y与R、G、B三个颜色分量的对应:Y=0.3R+0.59G+0.11B,以这个亮度值表达图像的灰度值。

2.4.2 灰度图像加噪处理

为了模拟一幅受到污染的图像,以及后续的峰值信噪比计算,可以通过给原始图像加噪处理,模拟图像退化过程,并且可通过滤波器检验滤波算法的处理能力,比较不同滤波器对不同噪声的滤波效果。本次设计中,对原始灰度图像分别添加椒盐噪声、高斯噪声、乘性噪声,并绘制灰度图像和加噪后图像的直方图。图2-4给出了分别添加三中噪声后的图像,图2-5为对应的直方图。

4b81568a-eb92-11eb-a97a-12bb97331649.jpg

图2-4 加噪图像

4bc14dda-eb92-11eb-a97a-12bb97331649.jpg

图2-5原始灰度图像与加噪图像直方图

2.4.3 加噪图像滤波处理

在上一小节中,通过添加噪声模拟了图像退化过程,本小节将针对收到不同噪声污染的图像,通过中值滤波、高斯平滑滤波和维纳滤波进行处理。

(1)对于椒盐噪声,分别通过中值滤波算法、高斯平滑滤波算法和维纳滤波算法进行去噪,可通过视觉观察去噪效果。图2-6给出了三种滤波器针对椒盐噪声的去噪结果。图2-7为原始灰度图像和三种滤波算法下的去噪图像的直方图。直观可以观察看出,针对椒盐噪声,中值滤波具有较好的效果。

4bde1e92-eb92-11eb-a97a-12bb97331649.jpg

图2-6去除椒盐噪声效果对比图

4c00b498-eb92-11eb-a97a-12bb97331649.jpg

2-7去椒盐噪声直方图

(2)对于高斯噪声,分别通过中值滤波算法、高斯平滑滤波算法和维纳滤波算法进行去噪,可通过视觉观察去噪效果。图2-8给出了高斯噪声在三种滤波算法处理下的结果。图2-9为原始灰度图像和三种滤波算法下的去噪图像的直方图。从图2-8可以看出,维纳滤波去除高斯噪声较好,从图2-9的直方图比较中也可以看出。

4c516348-eb92-11eb-a97a-12bb97331649.jpg

图2-8去除高斯噪声效果对比图

4c790a2e-eb92-11eb-a97a-12bb97331649.jpg

2-9去高斯噪声直方图

(3)对于乘性噪声,分别通过中值滤波算法、高斯平滑滤波算法和维纳滤波算法进行去噪,可通过视觉观察去噪效果。图2-10给出了乘性噪声在三种滤波算法处理下的结果。图2-11为原始灰度图像和三种滤波算法下的去噪图像的直方图。从图2-10和图2-11中可以看出,对于乘性噪声,高斯平滑滤波和维纳滤波算法均具有比较好的效果,而中值滤波要差一些。

4ca12dec-eb92-11eb-a97a-12bb97331649.jpg

图2-10去除乘性噪声效果对比图

4ccb2a52-eb92-11eb-a97a-12bb97331649.jpg

2-11去乘性噪声直方图

从2.4.3节内容可以得知对于不同的噪声,不同的滤波算法有不同的处理效果,并且可以通过滤波效果图和直方图直观看出。为了更具体和更具说服力,我们通过可以通过计算图像的峰值信噪比(PSNR)对图像的恢复质量进行客观而有效的评价。

峰值信噪比(Peak Signal to Noise Ratio,PSNR)是衡量图像失真或噪声水平的客观标准。两个图像之间PSNR值越大,则越相似。PSNR定义式:

4cea3abe-eb92-11eb-a97a-12bb97331649.jpg

(2-5)

其中,n是每个采样值的比特数,MSE是原图像与处理图像之间的均方误差,PSNR的单位为dB。

3 结果分析

3.1滤波效果分析

通过前文2.4.3小节研究内容可知,对于椒盐噪声,采用中值滤波算法处理效果比较好;对于高斯噪声,采用维纳滤波算法处理效果比较好;对于乘性噪声,采用高斯平滑滤波算法或维纳滤波算法处理比较好。为了更客观的比较,3.2节PSNR对比中精确描述。

3.2 PSNR对比

为了更加客观描述图像复原质量的评价,针对椒盐噪声、高斯噪声、乘性噪声,各自采用中值滤波算法、高斯平滑滤波算法以及维纳滤波算法,得到相对的图像复原结果,并通过Matlab程序计算PSNR,通过下面各表列出。

4 结论

通过前文的研究,对于一幅受到噪声污染的图像,通过常用的经典滤波算法进行复原,会产生不同的效果。对于椒盐噪声,采用中值滤波算法处理效果比较好;对于高斯噪声,采用维纳滤波算法处理效果比较好;对于乘性噪声,采用高斯平滑滤波算法或维纳滤波算法处理比较好。

需要注意的是,由于选择读取图像的原因,经过复原后的图像计算出的PSNR值几乎均未超过30dB,若更改为其他合适图像,可以得到较高的PSNR值。

另外,经过测试发现,如果添加的噪声浓度过大,则会导致滤波算法效果下降,降噪性能受到限制,需要对算法进行改进,或者选用其他有效算法进行图像复原和增强。

考虑到研究深度,本设计只涉及基础滤波算法在图像复原中的应用,未对更多改进型有效算法展开深入研究。通过本次设计,为基本噪声图像复原技术提供了参考。

编辑:jq

延伸 · 阅读