毕业设计说明书(论文)
作 者:
系: 学 号:
图像复原基本方法的研究
专 业: 题 目:
指导者:
(姓 名) (专业技术职务)
评阅者:
(姓 名) (专业技术职务)
2012 年 5 月
毕业设计(论文)评语
毕业设计说明书(论文)中文摘要
毕业设计说明书(论文)外文摘要
目 次
1 绪论 ................................................................ 1
1.1 图像复原的来源和发展 .............................................. 1
1.2 图像复原的基本思想 ................................................ 2
1.3 图像复原的应用 .................................................... 2
1.4 图像复原方法的分类 ................................................ 2
1.5 图像复原的主要方法 ................................................ 2
1.6 本课题研究的内容 .................................................. 3
2 图像复原方法概述 .................................................... 4
2.1 图像复原的核心理论 ................................................ 4
2.2 图像质量的客观评价 . ................................................ 7
2.3 Matlab在图像复原中的应用 .......................................... 7
2.4 本章小结 . .......................................................... 9
3 几种较经典的复原方法介绍 ........................................... 10
3.1 维纳滤波 ......................................................... 10
3.2 正则滤波法 ....................................................... 11
3.3 Lucy-Richardson 算法 .............................................. 11
3.4 盲去卷积 . ......................................................... 12
3.5 本章小结 . ......................................................... 12
4 Matlab仿真 ......................................................... 13
4.1 维纳滤波和正则滤波的仿真 ......................................... 13
4.2 LR 算法和盲去卷积的仿真 ........................................... 16
4.3 常用图像复原方法的比较 . ........................................... 21
4.4 本章小结 . ......................................................... 21
5 盲去卷积 ........................................................... 23
5.1 盲去卷积的设计思想及流程图 ....................................... 23
5.2 盲去卷积对灰度噪声图像的复原仿真 ................................. 23
5.3 盲去卷积对彩色噪声图像的复原仿真 ................................. 25
5.4 本章小结 ......................................................... 27
结论 .................................................................. 28 致谢 .................................................. 错误!未定义书签。
参考文献 .............................................................. 29
1 绪论 复原的目的是在预定义的意义上改善给定的图像。复原通过使用退化现象的先验知识试图重建或恢复一幅退化的图像。因此,复原技术趋向于将退化模型化并用相反的处理来恢复原图像。
1.1 图像复原的来源和发展
在获取图像的过程中,由于光学系统的像差、光学成像的衍射、成像系统的的非线性畸变、记录介质的非线性、成像过程的相对运动、环境随机噪声等影响,会使观测图像和真实图像之间不可避免的存在偏差和失真。这种图像质量下降的情况在实际应用中都会遇到,如宇航卫星、航空测绘、遥感、天文学中所得的图片。由于大气湍流、光学系统的像差以及摄像机与物体间的相对运动会使图像降质;X 射线成像系统由于X 射线散布会使医学上所得的照片分辨率和对比度下降;电子透镜的球面像差往往会降低电子显微照片的质量等等[1]。通常,称由于这些因素引起的质量下降为图像退化。
图像退化的典型表现是图像出现模糊、失真,出现附加噪声等。由于图像的退化,在图像接受端显示的图像已不再是传输的原始图像,图像效果明显变差。为此,必须对退化的图像进行处理,才能恢复出真实的原始图像,这一过程就称为图像复原。 图像复原是一种改善图像质量的处理技术,是图像处理研究领域中的热点问题,与图像增强等其他基本图像处理技术类似,也是以获取视觉质量某种程度的改善为目的,所不同的是图像复原过程实际上是一个估计过程,需要根据某些特定的图像退化模型,对退化图像进行复原。简言之,图像复原的处理过程就是对退化图像品质的提升,并通过图像品质的提升来达到图像在视觉上的改善[2]。
早期的图像复原是利用光学的方法对失真的观测图像进行校正,而数字图像复原技术最早则是从对天文观测图像的后期处理中逐步发展起来的[3]。其中一个成功例子是NASA 的喷气推进实验室在1964年用计算机处理有关月球的照片。照片是在空间飞行器上用电视摄像机拍摄的,图像的复原包括消除干扰和噪声,校正几何失真和对比度损失以及反卷积。另一个典型的例子是对肯尼迪遇刺事件现场照片的处理。由于事发突然,照片是在相机移动过程中拍摄的,图像复原的主要目的就是消除移动造成的失真。随着数字信号处理和图像处理的发展,新的复原算法不断出现,在应用中可以根据具体情况加以选择。
1.2 图像复原的基本思想 图像复原试图利用退化图像的某种先验知识来重建或复原被退化的图像,因此图像复原可以看成图像退化的逆过程,是将图像退化的过程加以估计,建立退化的数学模型后,补偿退化过程造成的失真,以便获得未经干扰退化的原始图像或原始图像的最优估值,从而改善图像质量。 [4]
1.3 图像复原的应用
在天文成像领域中,地面上的成像系统由于受到射线以及大气的影响,会造成图像的退化。在太空的成像系统中,由于宇宙飞船的速度远远快于相机快门的速度,也会造成运动模糊。此外噪声的影响也不可忽略。因此,必须对所得到的图像进行处理尽可能恢复原本的面目,才能提取更多有用的信息。
在医学领域,图像复原被用来滤除X 光照片上的颗粒噪声和去除核磁共振成像上的加性噪声。另一个正在发展的领域是定量放射自显影,用以提高其分辨率。 在军事公安领域,如巡航导弹地形识别,测试雷达的地形侦察,指纹自动识别,手迹、印章、人像的鉴定识别,过期档案文字的识别等[5]。
在图像及视频编码领域,随着高敛低速图像编码技术的发展,人为图像缺陷如方块效应的解决必须采用图像复原技术等。
其他领域,随着宽带通信技术的发展,电视电话、远程诊断等都进入我们的生活,而所有的这些技术都高度依赖于图像质量。
1.4 图像复原方法的分类
图像复原算法有线性和非线性两类。线性算法通过对图像进行逆滤波来实现反卷积,这类方法方便快捷,无需循环或迭代,能够直接得到反卷积结果,然而,它有一些局限性,比如无法保证图像的非负性。而非线性方法通过连续的迭代过程不断提高复原质量,直到满足预先设定的终止条件,结果往往令人满意。但是迭代程序导致计算量很大,图像复原时耗较长,有时甚至需要几个小时。所以实际应用中还需要对两种处理方法综合考虑,进行选择[6]。
1.5 图像复原的主要方法
1.5.1 维纳滤波法
维纳滤波法是由Wiener 首先提出的,应用于一维信号处理,取得了很好的效果。之后,维纳滤波法被用于二维信号处理,也取得了不错的效果,尤其在图像复原领域,
1.5.2 正则滤波法 由于维纳滤波计算量小,复原效果好,从而得到了广泛的应用和发展。
另一个容易实现线性复原的方法称为约束的最小二乘方滤波,在IPT 中称为正则滤波,并且通过函数deconvreg 来实现。
1.5.3 Lucy-Richardson算法
LR 算法是一种迭代非线性复原算法,它是从最大似然公式印出来的,图像用泊松分布加以模型化的。
1.5.4 盲去卷积
在图像复原过程中,最困难的问题之一是,如何获得PSF 的恰当估计。那些不以PSF 为基础的图像复原方法统称为盲去卷积。它以MLE 为基础的,即一种用被随机噪声所干扰的量进行估计的最优化策略[7]。
1.6 本课题研究的内容
图像复原技术在实际生活中有着很广泛的应用。常用的几种图像复原方法,如维纳滤波法、正则滤波法、LR 算法、盲去卷积等,它们都有自己的特点,也都能满足一定条件下对退化图像的处理,但是并不清楚哪种算法是最实用的。本课题将对各种算法进行深入分析并通过MATLAB 仿真实验,观察对模糊和噪声图像的复原结果来解答这个问题,得到的结果对人们的图像复原技术方法的选取会有很大的帮助。
本文第二章对图像复原方法进行了深入的介绍,详细介绍了其核心理论及Matlab 在图像复原技术中的应用。
本文第三章从理论上简单介绍了常用的几种图像复原方法:维纳滤波、正则滤波、LR 算法、盲去卷积。
本文第四章利用Matlab 软件对介绍的图像复原方法进行了两组仿真,分别是维纳滤波和正则滤波、LR 算法和盲去卷积,并在该章的最后比较了这四种复原方法的特点。
本文第五章对盲去卷积进行了介绍,并利用该算法对灰度噪声图像和彩色噪声图像进行了仿真。
从全文结构上看,第二、三章介绍了常用的图像复原的方法,为后续章节打下了基础;第四、五章为本课题的主要设计部分,并通过仿真对复原方法的原理进行验证。
2 图像复原方法概述
2.1 图像复原的核心理论
2.1.1 图像复原的概念 图像复原也称图像恢复,是图像处理中的一大类技术。所谓图像复原,是指去除或减轻在获取数字图像过程中发生的图像质量下降。这些退化包括由光学系统、运动等等造成图像的模糊,以及源自电路和光度学因素的噪声。图像复原的目标是对退化的图像进行处理,使它趋向于复原成没有退化的理想图像。成像过程的每一个环节(透镜,感光片,数字化等等)都会引起退化。在进行图像复原时,既可以用连续数学,也可以用离散数学进行处理。其次,处理既可在空间域,也可在频域进行。
影响图像质量的因素主要有下面一些:图像捕获过程中镜头发生了移动,或者暴光时间过长;场景位于焦距以外、使用了广角镜、大气干扰或短时间的暴光导致捕获到的光子减少;供焦显微镜中出现散光变形[8]。
典型的图像复原方法往往是在假设系统的点扩散函数(PSF )为已知,并且常需假设噪声分布也是已知的情况下进行推导求解的,采用各种反卷积处理方法,如逆滤波等,对图像进行复原。然而随着研究的进一步深入,在对实际图像进行处理的过程时,许多先验知识(包括图像及成像系统的先验知识)往往并不具备,于是就需要在系统点扩散函数未知的情况下,从退化图像自身抽取退化信息,仅仅根据退化图像数据来还原真实图像,这就是盲目图像复原(Blind Image Restoration)所要解决的问题。由于缺乏足够的信息来唯一确定图像的估计值,盲目图像复原方法需要利用有关图像信号、点扩散函数和高斯噪声的已知信息和先验知识,结合一些附加信息,对噪声模糊图像的盲复原以及振铃的消除问题的解形成约束条件,而盲目图像复原就是在满足这些约束条件的前提下,求取真实图像在某种准则下的最佳估计值。
2.1.2 退化模型
图像复原在实际中的应用非常广泛,算法也比较多。在应用中我们要把握两点:一时尽可能地从物理原理上估准图像的点扩展函数,因为只有退化模型准确,才有可能复原出图像本来的面目;二是尽可能地尝试多种方法。否则我们应当从多个方法来观察图像的复原效果,选择结果最好的。
由此可以了解到退化模型的重要性,如果退化模型很准确,对图像的复原是很有好处的,接下来将会介绍退化模型的概念。 [9]
本科毕业设计说明书(论文) 第 5 页 共 30 页 图像的复原就是要尽可能恢复退化图像的本来面目,它是沿图像降质的逆向过程进行。典型的图像复原是根据图像退化的先验知识建立一个退化模型,以此模型为基础,采用各种逆退化处理方法进行恢复,使图像质量得到改善。可见,图像复原主要取决于对图像退化过程的先验知识所掌握的精确程度。
图像复原的一般过程:分析退化原因——建立退化模型—— 反映推演——恢复图像。所以图像恢复一般要分两步:首先通过系统辨识方法求解h ,然后采用相应算法由模糊图像g(x,y) 和点扩展函数h(x,y) 来恢复。
图像复原处理的关键问题在于建立退化模型。在用数学方法描述图像时,它的最普遍的数学表达式:
I =f(x, y, z, λ, t) (2.1) 这样一个表达式可以代表一幅活动的、彩色的立体图像。当研究的是静止的、单色的、平面的图像时,则其数学表达式就简化为
I =f(x, y) (2.2) 基于这样的数学表达式,可建立如图2.1所示的退化模型。由图2.1的模型可见,一幅纯净的图像f (x , y ) 是由于通过了一个系统H 及加性噪声n (x , y ) 而使其退化为一幅图像g (x , y ) 的。
图2.1 图像退化模型
图像复原可以看成是一个估计过程。如果已经给出了退化图像g (x , y ) 并估计出系统参数H ,从而可近似地恢复f (x , y ) 。这里,n (x , y ) 是一种统计性质的噪声信息。当然,为了对处理结果做出某种最佳的估计,一般应首先明确一个质量标准。根据图像的退化模型及复原的基本过程可见,复原处理的关键在于对系统H 的基本了解。就一 般而言,系统是某些元件或部件以某种方式构造而成的整体,整个过程如图2.2所示:
g(x,y)f^(x,y)
图2.2 图像的退化/复原过程模型
对于退化图像g (x , y ) :
+∞+∞
g (x , y ) =⎰⎰
-∞-∞f (α, β) h (x -α, y -β) d αd β+n (x , y ) (2.3)
h ,[h (i , j ) ]CD 、如果上式中f ,产生相应的阵列[f (i , j ) ]AB 、n ,g 按相同间隔采样,
[n (i , j ) ]AB 、[g (i , j ) ]AB ,然后将这些阵列补零增广得到大小为M ⨯N 的周期延拓阵列,
为了避免重叠误差,这里M ≥A +C -1,N ≥B +D -1。由此,当k=0,1,L,M-1;l=0,1,L,N-1时,即可得到二维离散退化模型形式:
M -1N -1
g e (k , l ) =∑∑
i =0j =0f e (i , j ) h e (k -i , l -j ) +n e (k , l ) (2.4)
如果用矩阵表示上式,则可写为:
(2.5) g =Hf +n
其中,f , g , n 为一个行堆叠形成的MN ⨯1列向量,H 为MN ⨯MN 阶的块循环矩阵。
现实中造成图像退化的种类很多,常见的图像退化模型及点扩展函数有如下情景:
(1) 线性移动退化
线性运动退化是由于目标与成像系统间的相对匀速直线运动形成的退化。水平方向线性移动可以用以下退化函数来描述:
⎧1⎪ h (m , n ) =⎨d
⎪⎩0若0≤m ≤d and n =0 (2.6) 其他
式中,d 是退化函数的长度。在应用中如果线性移动退化函数不在水平方向,则可类似地定义移动退化函数。
(2) 散焦退化 当镜头散焦时,光学系统造成的图像退化相应的点扩展函数是一个均匀分布的圆形光斑。此时,退化函数可表示为: ⎧1⎪ h (m , n ) =⎨πR 2
⎪⎩0若m +n =R 其他222 (2.7)
式中,R 是散焦半径。在信噪比较高的情况下,在频域图上可以观察到圆形的轨迹。
(3) 高斯退化
高斯退化函数是许多光学测量系统和成像系统最常见的退化函数。对于这些系统,决定系统点扩展函数的因素比较多。众多因素综合的结果往往使点扩展函数趋于高斯型。高斯退化函数可以表达为:
⎧K exp[-α(m 2+n 2)]h (m , n ) =⎨0⎩若(m , n ) ∈C 其他 (2.8)
式中,K 是归一化常数,α是一个正常数,C 是h (m , n ) 的圆形支持域。由高斯退化函数的表达式可知,二维的高斯函数能分解为两个一维的高斯函数的乘积。
2.2 图像质量的客观评价
各类数字成像技术正在飞速发展,数字图像的清晰度日益成为衡量数字成像系统优劣的重要指标,我们在进行模糊图像复原的同时,如何判定我们复原得到的图像是否比原图像有所改进、清晰度有所提高,这些问题都涉及到如何客观有效地评价数字图像的清晰度。所以,我们在进行图像复原工作的时候,可以把图像质量评价标准作为一个的课题来进行研究,针对特定类型的图像,研究特定的图像质量评价标准。通过客观的图像质量评定标准来判断复原后的图像质量是否改善,以及改善的程度,但是,经常出现这样的情况,就是图像清晰度在主观视觉上有了比较明显的改善,但是其清晰度函数的评价值却不一定提高,或者提高得很少,所以,我们不能将清晰度评价函数值作为图像复原的质量的唯一评价标准,在参考复原图像清晰度评价函数值改变的同时,还需要我们人眼的客观判断,二者的结合才是对复原图像效果的客观而相对准确判断。
2.3 Matlab 在图像复原中的应用
2.3.1 Matlab 简介 MATLAB 语言是由美国MathWorks 公司推出的计算机软件,经过多年的逐步发展与不断完善,现已成为国际公认的最优秀的科学计算与数学应用软件之一,是今年来再国内外广泛流行的一种可视化科学计算软件。它集数值分析、矩阵运算、信号处理和图形显示于一体,构成了一个方便的,界面友好的用户环境,而且还具有可扩展性特征。MathWorks 公司针对不同领域的应用,推出了信号处理、控制系统、神经网络、图像处理、小波分析、鲁棒控制非线性系统控制设计、系统辨识、优化设计、统计分析、财政金融、样条、通信等30多个具有专门功能的工具箱,这些工具箱是由该领域内的学术水平较高的专家编写的,无需用户自己编写所用的专业基础程序,可直接对工具箱进行运用。同时,工具箱内的函数源程序也是开放性的,多为M 文件,用户可以查看这些文件的代码并进行更改,MATLAB 支持用户对其中的函数进行二次开发,用户的应用程序也可以作为新的函数添加到相应的工具箱中。MATLAB 中的数字图像时以矩阵的形式表示的,这意味着MATLAB 强大的矩阵运算能力用于图像处理非常有利,矩阵运算的语法对MATLAB 中的数字图像同样适用[10]。
图像处理工具箱提供一套全方位的参照标准算法和图形工具,用于进行图像处理、分析、可视化和算法开发。可用其对有噪图像或退化图像进行去噪或还原、增强图像以获得更高清晰度、提取特征、分析形状和纹理以及对两个图像进行匹配。工具箱中大部分函数均以开放式 MATLAB 语言编写。
本文对MATLAB 图像处理工具进行探索与应用,实验证明该软件工具箱具有丰富的技术支持,应用简单效果良好。
2.3.2 Matlab 图像恢复函数的介绍
MATLAB7.0 的图像处理工具箱提供了 4 个图像恢复函数,用于实现图像的恢复操作,按照其复杂程度列举如下:
deconvwnr 函数:使用维纳滤波恢复;
deconvreg 函数:使用波约束最小二乘滤波恢复;
deconvlucy 函数:使用 Lucy- Richardson 恢复;
除了以上3个恢复函数外, 还可以使用 MATLAB自定义的恢复函数。
Matlab 语言对图像进行复原处理时具有编程简单、处理速度快的特点。本文研究了利用Matlab 图像处理工具箱函数对图像进行增强和复原处理,取得了不同的效果,适用于不同的处理场合。
2.4 本章小结 本章首先介绍了图像复原的核心理论,包括图像复原的基本概念和退化模型,然后又介绍了图像质量的客观评价方法,接着简单的介绍了常用的四种图像复原方法,它们分别是维纳滤波、正则滤波、LR 算法和盲去卷积。
总而言之,图像复原的算法很多,无论何种算法,原则上,它们都要依据获取的相关信息(包括关于退化系统、原图像、噪声等的确定性信息和统计性信息) 才能有效地实施。算法利用的信息越多,信息的准确性越高,则复原图像的质量就越高。盲图像复原技术在近二十年获得极大的重视,也是目前图像复原研究的重要课题。对这几种算法具体的介绍将在第三、四、五章。
本章第三节介绍了Matlab 软件,简要的介绍了该软件在图像复原领域的功能,并列出了它的图像处理工具箱所提供的函数。
3 几种较经典的复原方法介绍 图像复原算法有线性和非线性两类。线性算法通过对图像进行逆滤波来实现反卷积,这类方法方便快捷,无需循环或迭代,直接可以得到反卷积结果,然而,它有一些局限性,比如无法保证图像的非负性。而非线性方法通过连续的迭代过程不断提高复原质量,直到满足预先设定的终止条件,结果往往令人满意。但是迭代程序导致计算量很大,图像复原时耗较长,有时甚至需要几个小时。所以实际应用中还需要对两种处理方法综合考虑,进行选择。
3.1 维纳滤波
维纳滤波法是由Wiener 首先提出的,在图像复原领域,由于维纳滤波计算量小,复原效果好,从而得到了广泛的应用和发展。维纳滤波最开始主要应用在一维信号处理里,取得了比较不错的效果。之后,维纳滤波法也用于二维信号处理中,也取得了比较好的效果。
维纳滤波器寻找一个使统计误差函数
e =E {(f -f ) 2} (3.1) 2∧
最小的估计f 。E 是期望值操作符,f 是未退化的图像。该表达式在频域可表示为 F (u , v ) =[∧∧1
2H (u , v ) 2H (u , v ) H (u , v ) +S η(u , v ) /S η(u , v ) ]G (u , v ) (3.2)
2其中,H *(u , v ) 表示H (u , v ) 的H (u , v ) 表示退化函数且H (u , v ) =H *(u , v ) H (u , v ) ,
复共轭,S η(u , v ) =N (u , v ) 表示噪声的功率谱,S f (u , v ) =F (u , v ) 表示未退化图像的
功率谱。比率S η(u , v ) /S η(u , v ) 称为信噪功率比。在IPT 中维纳滤波使用函数deconvwnr 来实现的。
维纳滤波能最佳复原的条件是要求已知模糊的系统函数,噪声功率谱密(或其自相关函数) ,原图像功率谱密度(或其自相关函数) 。但实际上,原图像功率谱密度(或其自相关函数) 一般难以获知,再加上维纳滤波是将图像假设为平稳随机场的前提下的最佳滤波,而实际的图像通常不能满足此前提。因此维纳滤波复原算法在实际中只能获得次最佳实施,它更多的是具有理论价值,被用作度量其他算法性能优劣的标杆。 22
3.2 正则滤波法 另一个容易实现线性复原的方法称为约束的最小二乘方滤波,在IPT 中称为正则滤波,并且通过函数deconvreg 来实现。
在最小二乘复原处理中,常常需要附加某种约束条件。例如令Q 为f 的线性算子,为拉格朗日乘子。那么最小二乘方复原的问题可以看成函数Q f
∧2∧2∧,服从约束条件
g -H f =n 2的最小化问题,这种有附加条件的极值问题可以用拉格朗日乘数法来处理。
寻找一个f ,使下述准则函数为最小: W (f ) =Q f ∧∧2∧2∧
+λg -H f -n 2 (3.3)
式中λ叫拉格朗日系数。通过指定不同的Q ,可以得到不同的复原目标。可以发现约束最小二乘复原算法不需要获知原图像的统计值,便可以有效地实施最优估计,这点与维纳滤波是不同的。正则化方法作为一种解决病态反问题的常用方法,通常用图像的平滑性作为约束条件,但是这种正则化策略通常导致复原图像的边缘模糊。
3.3 Lucy-Richardson 算法
前面所讨论的图像复原方法都是线性的。在感觉上它们也更“直接”,因为复原滤波一旦被指定下来,相应的解决方法就会通过滤波器的应用得到。这种实现的简单性、适量的运算要求和容易建立的理论基础,使得线性方法在很多年间都是图像复原的一个基本工具。
在过去的20年里,非线性迭代技术已经越来越多地被人们接受,作为复原的工具,它常常获得比线性方法更好的结果。非线性方法的主要缺陷是它们的特性常常是不可预见的,并且它们常需要获得重要的计算资源。但是经过这些年的发展,这些缺陷都已经不再是问题。因为在很多应用领域非线性技术都优于线性技术,并且在过去的十年中计算能力一直在以惊人的速度增长。在工具箱中选择的非线性方法是由Richardson 和Lucy 独立开发的技术。工具箱提供的这些算法被称为Lucy-Richardson 算法。
LR 算法是一种迭代非线性复原算法,它是从最大似然公式印出来的,图像用泊松
满意的方程: f k +1(x , y ) =f k (x , y )[h (-x , -y ) *
∧∧∧分布加以模型化的。当下面这个迭代收敛时模型的最大似然函数就可以得到一个令人g (x , y ) ∧] (3.4) h (x , y ) *f k (x , y ) *代表卷积,f 代表未退化图像的估计,g 和h 和以前定义一样。
在IPT 中,LR 算法由deconvlucy 函数完成的。
3.4 盲去卷积
前面几种图像复原方法都是在知道模糊图像的点扩展函数的情况下进行的, 而在实际应用中,通常都要在不知道点扩展函数的情况下进行图像复原。那些不以PSF 知识为基础的图像复原方法统称为盲去卷积。盲去卷积恢复就是在这种应用背景下提出的。在过去的20年里,盲去卷积已经受到了人们的极大重视,它是以最大似然估计(MLE)为基础的,即一种用被随机噪声所干扰的量进行估计的最优化策略。简单的说,关于MLE 方法的一种解释就是将图像数据看成是随机量,它们与另外一族可能的随机量之间有着某种似然性,似然函数用g (x , y )、f (x , y )和h (x , y )来加以表达,然后,问题就变成了寻求最大似然函数。在盲去卷积中,最优化问题用规定的约束条件并假定收敛时通过迭代来求解,得到的最大f (x , y )和h (x , y )就是还原的图像和PSF 。MATLAB 提供了 deconvblind 函数用于实现盲解卷积。盲解卷积算法一个很好的优点就是,在对失真情况毫无先验知识的情况下,仍然能够实现对模糊图像的恢复操作。
3.5 本章小结
本章详细的介绍了图像复原的几个基本方法,如维纳滤波、正则滤波、LR 算法和盲去卷积。对它们的原理也进行了比较充分的描述,在第四章将对这些算法进行Matlab 仿真,并进行更深入的比较。
4 Matlab仿真
4.1 维纳滤波和正则滤波的仿真
4.1.1 维纳滤波的仿真 维纳滤波复原函数 deconvwnr 的调用格式:J=deconvwnr(I,PSF,NCORR,ICORR)其中,I 表示输入图像,PSF 表示点扩散函数,NSR (默认值为0)、NCORR 和ICORR 都是可选参数,分别表示信噪比、噪声的自相关函数、原始图像的自相关函数。输出参数J 表示复原后的图像[11]。
本次仿真所用的维纳滤波复原源代码:
I=checkerboard(8);
noise=0.1*randn(size(I));
PSF=fspecial('motion',21,11);
Blurred=imfilter(I,PSF,'circular');
BlurredNoisy=im2uint8(Blurred+noise);
NP=abs(fftn(noise)).^2;
NPOW=sum(NP(:)/numel(noise));
NCORR=fftshift(real(ifftn(NP)));
IP=abs(fftn(I)).^2;
IPOW=sum(IP(:)/numel(noise));
ICORR=fftshift(real(ifftn(IP)));
ICORR1=ICORR(:,ceil(size(I,1)/2));
NSR=NPOW/IPOW;
subplot(221);imshow(BlurredNoisy,[]);
title('模糊和噪声图像');
subplot(222);imshow(deconvwnr(BlurredNoisy,PSF,NSR),[]);
title('deconbwnr(A,PSF,NSR)');
subplot(223);imshow(deconvwnr(BlurredNoisy,PSF,NCORR,ICORR),[]); title('deconbwnr(A,PSF,NCORR,ICORR)');
subplot(224);imshow(deconvwnr(BlurredNoisy,PSF,NPOW,ICORR1),[]); title('deconbwnr(A,PSF,NPOW,ICORR_1_D)');
本科毕业设计说明书(论文) 第 14 页 共 30 页 原始图如图4.1所示,从复原的图像来看,因为这里采用了真实PSF 函数来恢复,效果还是很好的。但是实际生活当中大多数情况下是不知道PSF 的,所以要按照具体情况具体分析,然后再恢复图像。复原结果如图4.2所示:
图4.1 原始图
图4.2 左上图为模糊的噪声图像;右上图为逆滤波的结果;左下图为使用自相 关函数的维纳滤波的结果;右下图为使用常数比率的维纳滤波的结果
观察复原图像,可以发现,第二幅图为直接逆滤波的结果,这个结果是由噪声的效果所决定的。第三幅图是在复原中使用自相关函数,由图可知,所得到的结果虽然仍有一些噪声存在,但已经和原图像很接近了。因为原图像和噪声函数都是已知的,所以可以正确的估算参量,并且该图便是在这种情况下能够由维纳反卷积所得到的最佳结果。在实践中,当这些量之一(或更多)未知时,挑战便是在实验中智能地选择所用的函数,直到获得可接受的结果为止。第四幅图是使用常数比率复原的结果,这种方法对直接逆滤波给出了重大的改进。
本科毕业设计说明书(论文)
4.1.2 正则滤波的仿真 第 15 页 共 30 页
正则滤波恢复函数的调用格式:J=deconvreg(I,PSF,NOISEPOWER,RANGE)。其中,I 表示输入图像,PSF 表示点扩散函数,NOISEPOWER 与成比例,RANGE 为值的范围,在求解γ时,该算法受这个范围的限制。默认范围是[10,10](Matlab中的符号为
[1e-10,1e10].同时,该函数也可以在指定的范围内搜索最优的拉氏算子。利用振铃抑制恢复图像是3种中恢复效果最好的,其他几种方法也可以恢复但是比较模糊,效果不是很明显。
本次仿真所用的规则化滤波复原程序源代码:
I=checkerboard(8);
PSF=fspecial('gaussian',7,10);V=.01;
BlurredNoisy=imnoise(imfilter(I,PSF),'gaussian',0,V);
NOISEPOWER=V*numel(I);
[J LAGRA]=deconvreg(BlurredNoisy,PSF,NOISEPOWER);
subplot(221);
imshow(BlurredNoisy);
title('A=Blurred and Noisy');
subplot(222);imshow(J);
title('[J LAGRA]=deconvreg(A,PSF,NP)');
subplot(223);imshow(deconvreg(BlurredNoisy,PSF,[],LAGRA/10)); title('deconvreg(A,PSF,[],0.1*LAGRA)');
subplot(224);imshow(deconvreg(BlurredNoisy,PSF,[],LAGRA/10)) title('deconvreg(A,PSF,[],10*LAGRA');
原始图如图4.3所示:
-992
图4.3 原始图
本科毕业设计说明书(论文)
复原结果如图4.4所示:
第 16 页 共 30 页
图4.4 左上图为模糊的噪声图像;右上图为使用参量NOISEPOWER 为40的正则滤波复原的图像;左下图为使用参量NOISEPOWER 为4的正则滤波复原的图像;右下图为用参量NOISEPOWER
为0.4的正则滤波复原的图像
观察图像可知,第二幅图相对于原图像已有改善,但也可以明显地看出NOISEPOWER 的值并不是非常好。在对这个参数和参数RANGE 进行实验,通过把NOISEPOWER 的值的量级下调一个等级,而RANGE 也比默认值更加紧凑,得出第三幅和第四幅图。
4.2 LR 算法和盲去卷积的仿真
4.2.1 LR算法的仿真
Lucy-Richardson 算法是目前世界上应用最广泛的函数恢复技术之一,它是一种迭代方法。MATLAB 提供的deconvlucy 函数还能够用于实现复杂图像重建的多种算法中,这些算法都基于Lucy-Richardson 最大化可能性算法.
deconvlucy 函数的调用格式:J=deconvlucy(I ,PSF ,NUMIT ,DAMPAR ,WEIGHT )
本科毕业设计说明书(论文) 第 17 页 共 30 页 其中,I 表示输入图像,PSF 表示点扩散函数。其他参数都是可选参数:NUMIT 表示算法的迭代次数,默认为10次;DAMPAR 是一个标量,它指定了结果图像与原图像I 之间的偏离阈值表,默认值为0(无衰减);WEIGHT 是一个与I 同样大小的数组,它为每一个像素分配一个权重来反映其重量,表示像素加权值,默认值为原始图像的数值。 本次仿真所用的LR 复原滤波源代码:
I=checkerboard(8);
PSF=fspecial('gaussian',7,10);
V=.0001;
BlurredNoisy=imnoise(imfilter(I,PSF),'gaussian',0,V);
LIM=ceil(size(PSF,1)/2);
WT=zeros(size(I));
WT(LIM+1:end-LIM,LIM+1:end-LIM)=1;
J1=deconvlucy(BlurredNoisy,PSF,20);
J2=deconvlucy(BlurredNoisy,PSF,20,sqrt(V));
J3=deconvlucy(BlurredNoisy,PSF,20,sqrt(V),WT);
subplot(221);imshow(BlurredNoisy);
title('A=Blurred and Noisy');
subplot(222);imshow(J1);
title('deconvlucy(A,PSF)');
subplot(223);imshow(J2);
title('deconvlucy(A,PSF,20,DP)');
subplot(224);imshow(J3);
title('deconvlucy(A,PSF,20,DP,WT)');
原始图如图4.5,
图4.5 原始图
复原结果如图4.6所示:
图4.6 左上图是模糊的噪声图像;右上图是LR 算法迭代20次的复原图像;左下图是衰减为0.01,迭代20次的复原图像;右下图是衰减为0.01,且计算出WEIGHT 数组后迭代20次的
复原图像
观察复原图像可知,第一幅图为原图像加上模糊和噪声后的图像,第二幅图是直接用LR 算法迭代20次所得到的复原图像,不难发现,虽然图像已经稍微有些改进了,但是仍有点模糊,第三幅图是衰减为0.01,迭代20次的复原图像。第四幅图是衰减为0.01,且计算出WEIGHT 数组后迭代20次得到的复原图像,并且它为对模糊和噪声图像的合理复原。所以当迭代次数相同的时候,算出WEIGHT 数组能得到用LR 算法复原图像的最佳结果。
事实上,进一步增加迭代次数在复原结果上并没有显著的改进。如图4.7所示,该图是衰减为0.01,并计算出WEIGHT 数组后经过50次迭代后获得的结果。这幅图像只比使用了20次迭代获得的图像稍稍清晰和明亮了一些。另外,在所有得到的结果中,细黑色边界都是由数组WEIGHT 中的0所引起的。总的来说,LR 算法对图像的复
原效果是比较出色的。
图4.7 迭代50次的复原图像
4.2.2 盲去卷积的仿真
MATLAB 提供了deconvblind 函数用于实现盲解卷积。盲解卷积算法一个很好的优点就是,在对失真情况毫无先验知识的情况下,仍然能够实现对模糊图像的恢复操作。 deconvblind 函数的调用格式:[J,PSF]=deconvblind(I ,INITPSF ,NUMIT ,DAMPAR,WEIGHT ), 其中,I 表示输入图像,INITPSF 表示PSF 的估计值,NUMIT 表示算法重复次数,DAMPAR 表示偏差阈值,WEIGHT 表示像素加权重,与LR 算法中的作用相同,用来屏蔽坏像素,J 表示恢复后的图像[12]。
本次仿真所用的盲去卷积算法的源代码:
I=checkerboard(8);
PSF=fspecial('gaussian',7,10);V=.0001;
BlurredNoisy=imnoise(imfilter(I,PSF),'gaussian',0,V);
WT=zeros(size(I));WT(5:end-4,5:end-4)=1;
INITPSF=ones(size(PSF));FUN=inline('PSF+P1','PSF','P1');
[J P]=deconvblind(BlurredNoisy,INITPSF,20,10*sqrt(V),WT,FUN,0); subplot(221);
imshow(BlurredNoisy);
title('A=Blurred and Noisy');
subplot(222);
imshow(PSF,[]);
title('True PSF');
subplot(223);
imshow(J);
title('Deblured Image');
subplot(224);
imshow(P,[]);
原始图像如图4.8所示:
图4.8 原始图
复原图像如图4.9所示:
图4.9 左上图为模糊的噪声图像;右上图为真实的PSF ;左下图为去除模糊的复原图像;右
下图为估计的PSF
由图可知,当用盲去卷积算法迭代20后所得到的复原图像是比较好的,并且当迭代20次后,所估计的PSF 也很接近于真实的PSF 。
4.3 常用图像复原方法的比较 本章前两节已经对维纳滤波、正则滤波、LR 算法和盲去卷积进行了仿真,对它们的复原能力有了了解。在线性复原方法中,对仿真结果的对比可以发现,使用自相关函数的维纳滤波的复原能力要比正则滤波的结果好的多,但条件是必须已经对噪声和图像谱的知识有足够的了解。若没有这些信息,则用两种滤波器通过实验得到的结果常常是可比的;在非线性复原方法中,由仿真结果的对比可知,LR 算法和盲去卷积均能得到较好的复原图像,LR 算法的复原效果稍好于盲去卷积。但考虑到实际应用,对失真情况往往没有先验知识,因此,盲去卷积算法的用途将会更大。 它们的特点如下:
1. 维纳滤波是一种经典的线性解卷积方法,能有效抑制与噪声相比可忽略的能量;
2. 正则滤波是线性方法,用正则滤波进行图像恢复也可以看作约束最优化问题,即原图像的最优估值。选择正则化参数是一个非常困难的问题,正则解对正则化参数非常敏感:正则化参数太小,图像的平滑区域仍然充满噪声;正则化参数太大,图像的边缘和纹理被模糊;
3.LR 算法也是比较经典的解卷积算法,且往往能取得很理想的图像复原结果,也跟大多数非线性方法一样,关于什么时候停止LR 算法通常很难回答;
4. 盲去卷积是越来越受到人们重视的一种非线性复原方法,它是一种用被随即噪声所干扰的量进行估计的最优化策略,因此,在不知道点扩展函数时能有效复原图像,而不知道点扩展函数在实际应用中是经常遇到的。
这几种图像复原方法都是针对一种或某几类图像数据资料的具体特点而提出的,在处理实际图像时,应该考虑到这一点,根据图像的具体情况来选择较为有效的方法。在本文所讨论的处理模糊和噪声图像中,维纳滤波的复原效果最好,但是两种非线性方法也能取得比较好的结果。但是考虑到处理实际图像时,通常不知道点扩散函数,所以盲去卷积的应用更广。综合考虑以上因素,选取盲去卷积方法来处理该类噪声更加符合实际情况。对盲去卷积,将在第五章进行更深入的介绍。
4.4 本章小结
本章通过Matlab 软件对这四种常用的图像复原方法进行了仿真,通过对复原图像的比较,能看出它们对模糊和噪声图像的复原能力。本章先仿真了线性复原方法,
也就是维纳滤波和正则滤波,再仿真LR 算法和盲去卷积这两种非线性复原方法,在仿真的同时,也对每种算法所用的函数的调用方式进行了简单的介绍。最后,比较了这几种复原方法的特点。
本科毕业设计说明书(论文)
5 盲去卷积
5.1 盲去卷积的设计思想及流程图 第 23 页 共 30 页
在许多实际情况下,点扩展函数难以确定,必须从观察图像中以某种方式抽出退化信息,找出图像复原方法,这种方法就是图像盲复原[13]。通常图像盲复原过程如图
5.1所示。图像盲复原问题可描述为通过观测到的模糊图像g (x , y ) 以及有关原始图像模糊的先验知识,获得对原始图像的估计。
图像和模糊的部分信息
图5.1 盲复原的流程图
盲去卷积的方法是以最大似然估计(MLE)为基础的,即一种用被随机噪声所干扰的量进行估计的最优化策略。似然函数用g (x , y )、f (x , y )和h (x , y )来加以表达,然后问题就变成了寻求最大似然函数。在盲去卷积中,最优化问题用规定的约束条件并假定收敛时通过迭代来求解,得到的最大f (x , y )和h (x , y )就是还原的图像和PSF [14]。
5.2 盲去卷积对灰度噪声图像的复原仿真
先读取原始图像,之后对其进行模糊化,程序段如下:
I=checkerboard(8);
PSF=fspecial('gaussian',7,10);
V=.0001;
BlurredNoisy=imnoise(imfilter(I,PSF),'gaussian',0,V);
通常图像恢复方法均在成像系统的点扩展函数PSF 已知下进行,实际上它通常是未知的。在未知的情况下,盲去卷积是实现图像恢复的有效方法。调用deconvblind 函数进行恢复。以下程序段是以真实大小的INTIPS 恢复图像,同时初步重建PSF ,其程序段如下:
WT=zeros(size(I));
WT(5:end-4,5:end-4)=1;
本科毕业设计说明书(论文) 第 24 页 共 30 页 INITPSF=ones(size(PSF));FUN=inline('PSF+P1','PSF','P1');
[J P]=deconvblind(BlurredNoisy,INITPSF,20,10*sqrt(V),WT,FUN,0); subplot(221);imshow(BlurredNoisy);title('A=Blurred and Noisy'); subplot(222);imshow(PSF,[]);title('True PSF');
subplot(223);imshow(J);title('Deblured Image');
subplot(224);imshow(P,[]);
对图像使用定义的WEIGHT 数组对图像进行重建,得到恢复结果。该算法同时恢复了图像和点扩散函数,在对失真情况毫无先验知识的情况下,仍能实现对模糊图像的恢复操作。利用Matlab 实现的图像恢复,并对恢复图像的失真情况做了改善。在进行图像恢复时,重建PSF ,对图像进行重建,得到恢复的图像。
原始图像如图5.2所示:
图5.2 原始图
复原图像如图5.3所示:
图5.3 左上图为模糊的噪声图像;右上图为真实的PSF ;左下图为
去除模糊的复原图像;右下图为估计的PSF
本科毕业设计说明书(论文)
5.3 盲去卷积对彩色噪声图像的复原仿真 第 25 页 共 30 页
对彩色图像进行模糊,增加加性噪声,最后利用盲去卷积进行恢复。 源代码如下:
I=imread('colour.tif');
figure;imshow(I);
title('原始图像');
PSF=fspecial('motion',13,45);
figure;imshow(PSF,[],'notruesize');title('初始psf'); Blurred=imfilter(I,PSF,'circ','conv');
figure;imshow(Blurred);title('模糊后图像');
INITPSF=ones(size(PSF));
[J P]=deconvblind(Blurred,INITPSF,30);
figure;imshow(J);
title('恢复后图像');
figure;imshow(P,[],'notruesize');
title('恢复PSF');
WEIGHT=edge(I,'sobel',.28);
se1=strel('disk',1);
se2=strel('line',13,45);
WEIGHT=~imdilate(WEIGHT,[se1 se2]);
weight=padarray(WEIGHT(2:end-1,2:end-1),[2 2]); %%保存图像
imwrite(I,'ex0608_1.bmp','bmp');
imwrite(PSF,'ex0608_2.bmp','bmp');
imwrite(Blurred,'ex0608_3.bmp','bmp');
imwrite(J,'ex0608_4.bmp','bmp');
imwrite(P,'ex0608_5.bmp','bmp');
imwrite(WEIGHT,'ex0608_6.bmp','bmp');
imwrite(J2,'ex0608_7.bmp','bmp');
imwrite(P2,'ex0608_8.bmp','bmp');
本科毕业设计说明书(论文)
复原结果如图5.4所示:
第 26 页 共 30 页
(a ) (b)
(c) (d)
(e)
图5.4 (a )初始图像;(b )初始PSF ;(c )恢复的PSF ;(d )噪声图像;(e )复原图像
本科毕业设计说明书(论文) 第 27 页 共 30 页 从上面的结果来看,盲去卷积复原彩色图像并不十分理想,恢复的PSF 也不是特别好。而图像复原在实际中的应用非常广泛,算法也比较多。但因无须知道图像降质的点扩散函数,因此在实际应用还是具有较好的使用意义的[15]。
5.4 本章小结
本章更深入的介绍了盲去卷积,包括它的设计思想、流程图、源代码的实现,在本章的最后利用盲去卷积对被噪声污染的彩色图像的复原,并给出了该源代码。但结果发现,盲去卷积对彩色图像的复原并不是太好,但是因为它无须知道点扩散函数,应用前景仍然很广阔。
结 论
本论文首先介绍了图像复原的基本概念,之后详细的介绍了比较经典的四种图像复原方法,分别是维纳滤波法、正则滤波、LR 算法和盲去卷积。并且在第四章对这几种算法进行了Matlab 仿真,并比较了它们的复原结果。
由仿真结果可知,采用维纳滤波复原可以取得比较好的效果,这个算法可以使估计的点扩散函数值更加接近它的真实值。正则滤波的复原效果相比而言没有那么好。而在非线性方法中,在本文的仿真实验中可以发现,LR 算法和盲去卷积的复原效果都是不错的。在模糊图像的点扩展函数的情况下,可以调用常规的图像复原算法;而现实里还会遇见不知道点扩展函数的情况,这个时候我们就须利用盲卷积复原算法。它是利用原始图像模糊,同时进行清晰图像的恢复和点扩展函数计算的一种方法。因此,盲卷积复原算法的优点就是,对失真情况还未知的情形下,仍然能够操作恢复模糊图像。
基于盲去卷积的优点,第五章对其进行了详细的介绍,并且在Matlab 环境下仿真实现了对彩色噪声图像盲去卷积的复原处理,仿真结果主观评价效果不佳。但因为此方法无需对图像退化先验知识,所以有很好的应用前景。
另外,Matlab 语言对图像进行增强处理时具有编程简单等特点。因为该软件的性能,本文利用Matlab 图像处理工具箱函数对图像进行复原处理时,取得了不同的效果,完成了图像的仿真工作。
参 考 文 献
[1] 曲振峰,李小光. 数字图像去噪盲复原算法改进研究[J]. 湖南工程学院学报, 2011, 21(1): 12-16.
[2] 孙韶杰,吴琼,李国辉. 基于变分贝叶斯估计的相机抖动模糊图像的盲复原算法[J]. 电子与信息学报,2010,32(11): 2674-2679.
[3] 吴定允,张利红,梁英波. 一种改进的图像盲复原算法[J]. 周口师范学院学报,2011,28(2): 151-160.
[4] 刘杰平,余英林.基于小波变换的盲图像恢复[J].微电子学与计算机,2004,21(8):73-79.
[5] 郭永彩,王婀娜,高潮. 基于空间自适应和正则化技术的盲图像复原[J]. 光学精密工程,2008,16(11): 2263-2267.
[6] 胡海平,莫玉龙. 基于贝叶斯估计的小波阈值图像降噪方法[J]. 红外与毫米波学报,2002,21(1): 74-76.
[7] A P Dempster,N M Laird and DB Rubin .Maximum likelihood from Incomplete data via EM algorithm[J].Jroyal StatisealSer .B .1977,39(1):1-38.
[8] G R Ayers ,J C Dainty .Iterative blind deconvolution method and its
Applications[J].Optics Letters.1998,13(7):547-549.
[9] 江洁,邓琼,张广军. 基于小波变换的正则化盲图像复原算法[J]. 光学精密工程[J]. 2007,15(4): 582-586.
[10] 余成波编著. 数字图像处理及MATLAB 实现[M]. 北京:机械工业出版社,
2010.167-175.
[11] 王大勇,伏西洋,郭红锋,赵博,郑怡嘉,陶世荃. 光学稀疏孔径系统的
成像及其图像复原[J]. 光子学报,2005,34(10):1557-1560.
[12] 白向军,彭国华,陈晓. 复合的图像盲复原算法[J]. 计算机工程与应用,
2009, 45(03): 471-472.
[13] 郭永彩,高潮,王婀娜. 基于小波变换和非负支撑域递归逆滤波算法的盲
目图像复原[J]. 光学学报,2009,29(11): 2000-3003.
[14] 彭自然,罗大庸,张航. 一种基于粒子群优化算法的图像盲复原方法[J].
计算技术与自动化,2007,26(2): 122-128.
[15] 陈前荣,陆启生,成礼智,刘泽金,舒柏宏,王红霞,黎全. 运动模糊图
像点扩散函数尺度鉴别[J]. 计算机工程与应用,2004,23(3): 78-93.
毕业设计说明书(论文)
作 者:
系: 学 号:
图像复原基本方法的研究
专 业: 题 目:
指导者:
(姓 名) (专业技术职务)
评阅者:
(姓 名) (专业技术职务)
2012 年 5 月
毕业设计(论文)评语
毕业设计说明书(论文)中文摘要
毕业设计说明书(论文)外文摘要
目 次
1 绪论 ................................................................ 1
1.1 图像复原的来源和发展 .............................................. 1
1.2 图像复原的基本思想 ................................................ 2
1.3 图像复原的应用 .................................................... 2
1.4 图像复原方法的分类 ................................................ 2
1.5 图像复原的主要方法 ................................................ 2
1.6 本课题研究的内容 .................................................. 3
2 图像复原方法概述 .................................................... 4
2.1 图像复原的核心理论 ................................................ 4
2.2 图像质量的客观评价 . ................................................ 7
2.3 Matlab在图像复原中的应用 .......................................... 7
2.4 本章小结 . .......................................................... 9
3 几种较经典的复原方法介绍 ........................................... 10
3.1 维纳滤波 ......................................................... 10
3.2 正则滤波法 ....................................................... 11
3.3 Lucy-Richardson 算法 .............................................. 11
3.4 盲去卷积 . ......................................................... 12
3.5 本章小结 . ......................................................... 12
4 Matlab仿真 ......................................................... 13
4.1 维纳滤波和正则滤波的仿真 ......................................... 13
4.2 LR 算法和盲去卷积的仿真 ........................................... 16
4.3 常用图像复原方法的比较 . ........................................... 21
4.4 本章小结 . ......................................................... 21
5 盲去卷积 ........................................................... 23
5.1 盲去卷积的设计思想及流程图 ....................................... 23
5.2 盲去卷积对灰度噪声图像的复原仿真 ................................. 23
5.3 盲去卷积对彩色噪声图像的复原仿真 ................................. 25
5.4 本章小结 ......................................................... 27
结论 .................................................................. 28 致谢 .................................................. 错误!未定义书签。
参考文献 .............................................................. 29
1 绪论 复原的目的是在预定义的意义上改善给定的图像。复原通过使用退化现象的先验知识试图重建或恢复一幅退化的图像。因此,复原技术趋向于将退化模型化并用相反的处理来恢复原图像。
1.1 图像复原的来源和发展
在获取图像的过程中,由于光学系统的像差、光学成像的衍射、成像系统的的非线性畸变、记录介质的非线性、成像过程的相对运动、环境随机噪声等影响,会使观测图像和真实图像之间不可避免的存在偏差和失真。这种图像质量下降的情况在实际应用中都会遇到,如宇航卫星、航空测绘、遥感、天文学中所得的图片。由于大气湍流、光学系统的像差以及摄像机与物体间的相对运动会使图像降质;X 射线成像系统由于X 射线散布会使医学上所得的照片分辨率和对比度下降;电子透镜的球面像差往往会降低电子显微照片的质量等等[1]。通常,称由于这些因素引起的质量下降为图像退化。
图像退化的典型表现是图像出现模糊、失真,出现附加噪声等。由于图像的退化,在图像接受端显示的图像已不再是传输的原始图像,图像效果明显变差。为此,必须对退化的图像进行处理,才能恢复出真实的原始图像,这一过程就称为图像复原。 图像复原是一种改善图像质量的处理技术,是图像处理研究领域中的热点问题,与图像增强等其他基本图像处理技术类似,也是以获取视觉质量某种程度的改善为目的,所不同的是图像复原过程实际上是一个估计过程,需要根据某些特定的图像退化模型,对退化图像进行复原。简言之,图像复原的处理过程就是对退化图像品质的提升,并通过图像品质的提升来达到图像在视觉上的改善[2]。
早期的图像复原是利用光学的方法对失真的观测图像进行校正,而数字图像复原技术最早则是从对天文观测图像的后期处理中逐步发展起来的[3]。其中一个成功例子是NASA 的喷气推进实验室在1964年用计算机处理有关月球的照片。照片是在空间飞行器上用电视摄像机拍摄的,图像的复原包括消除干扰和噪声,校正几何失真和对比度损失以及反卷积。另一个典型的例子是对肯尼迪遇刺事件现场照片的处理。由于事发突然,照片是在相机移动过程中拍摄的,图像复原的主要目的就是消除移动造成的失真。随着数字信号处理和图像处理的发展,新的复原算法不断出现,在应用中可以根据具体情况加以选择。
1.2 图像复原的基本思想 图像复原试图利用退化图像的某种先验知识来重建或复原被退化的图像,因此图像复原可以看成图像退化的逆过程,是将图像退化的过程加以估计,建立退化的数学模型后,补偿退化过程造成的失真,以便获得未经干扰退化的原始图像或原始图像的最优估值,从而改善图像质量。 [4]
1.3 图像复原的应用
在天文成像领域中,地面上的成像系统由于受到射线以及大气的影响,会造成图像的退化。在太空的成像系统中,由于宇宙飞船的速度远远快于相机快门的速度,也会造成运动模糊。此外噪声的影响也不可忽略。因此,必须对所得到的图像进行处理尽可能恢复原本的面目,才能提取更多有用的信息。
在医学领域,图像复原被用来滤除X 光照片上的颗粒噪声和去除核磁共振成像上的加性噪声。另一个正在发展的领域是定量放射自显影,用以提高其分辨率。 在军事公安领域,如巡航导弹地形识别,测试雷达的地形侦察,指纹自动识别,手迹、印章、人像的鉴定识别,过期档案文字的识别等[5]。
在图像及视频编码领域,随着高敛低速图像编码技术的发展,人为图像缺陷如方块效应的解决必须采用图像复原技术等。
其他领域,随着宽带通信技术的发展,电视电话、远程诊断等都进入我们的生活,而所有的这些技术都高度依赖于图像质量。
1.4 图像复原方法的分类
图像复原算法有线性和非线性两类。线性算法通过对图像进行逆滤波来实现反卷积,这类方法方便快捷,无需循环或迭代,能够直接得到反卷积结果,然而,它有一些局限性,比如无法保证图像的非负性。而非线性方法通过连续的迭代过程不断提高复原质量,直到满足预先设定的终止条件,结果往往令人满意。但是迭代程序导致计算量很大,图像复原时耗较长,有时甚至需要几个小时。所以实际应用中还需要对两种处理方法综合考虑,进行选择[6]。
1.5 图像复原的主要方法
1.5.1 维纳滤波法
维纳滤波法是由Wiener 首先提出的,应用于一维信号处理,取得了很好的效果。之后,维纳滤波法被用于二维信号处理,也取得了不错的效果,尤其在图像复原领域,
1.5.2 正则滤波法 由于维纳滤波计算量小,复原效果好,从而得到了广泛的应用和发展。
另一个容易实现线性复原的方法称为约束的最小二乘方滤波,在IPT 中称为正则滤波,并且通过函数deconvreg 来实现。
1.5.3 Lucy-Richardson算法
LR 算法是一种迭代非线性复原算法,它是从最大似然公式印出来的,图像用泊松分布加以模型化的。
1.5.4 盲去卷积
在图像复原过程中,最困难的问题之一是,如何获得PSF 的恰当估计。那些不以PSF 为基础的图像复原方法统称为盲去卷积。它以MLE 为基础的,即一种用被随机噪声所干扰的量进行估计的最优化策略[7]。
1.6 本课题研究的内容
图像复原技术在实际生活中有着很广泛的应用。常用的几种图像复原方法,如维纳滤波法、正则滤波法、LR 算法、盲去卷积等,它们都有自己的特点,也都能满足一定条件下对退化图像的处理,但是并不清楚哪种算法是最实用的。本课题将对各种算法进行深入分析并通过MATLAB 仿真实验,观察对模糊和噪声图像的复原结果来解答这个问题,得到的结果对人们的图像复原技术方法的选取会有很大的帮助。
本文第二章对图像复原方法进行了深入的介绍,详细介绍了其核心理论及Matlab 在图像复原技术中的应用。
本文第三章从理论上简单介绍了常用的几种图像复原方法:维纳滤波、正则滤波、LR 算法、盲去卷积。
本文第四章利用Matlab 软件对介绍的图像复原方法进行了两组仿真,分别是维纳滤波和正则滤波、LR 算法和盲去卷积,并在该章的最后比较了这四种复原方法的特点。
本文第五章对盲去卷积进行了介绍,并利用该算法对灰度噪声图像和彩色噪声图像进行了仿真。
从全文结构上看,第二、三章介绍了常用的图像复原的方法,为后续章节打下了基础;第四、五章为本课题的主要设计部分,并通过仿真对复原方法的原理进行验证。
2 图像复原方法概述
2.1 图像复原的核心理论
2.1.1 图像复原的概念 图像复原也称图像恢复,是图像处理中的一大类技术。所谓图像复原,是指去除或减轻在获取数字图像过程中发生的图像质量下降。这些退化包括由光学系统、运动等等造成图像的模糊,以及源自电路和光度学因素的噪声。图像复原的目标是对退化的图像进行处理,使它趋向于复原成没有退化的理想图像。成像过程的每一个环节(透镜,感光片,数字化等等)都会引起退化。在进行图像复原时,既可以用连续数学,也可以用离散数学进行处理。其次,处理既可在空间域,也可在频域进行。
影响图像质量的因素主要有下面一些:图像捕获过程中镜头发生了移动,或者暴光时间过长;场景位于焦距以外、使用了广角镜、大气干扰或短时间的暴光导致捕获到的光子减少;供焦显微镜中出现散光变形[8]。
典型的图像复原方法往往是在假设系统的点扩散函数(PSF )为已知,并且常需假设噪声分布也是已知的情况下进行推导求解的,采用各种反卷积处理方法,如逆滤波等,对图像进行复原。然而随着研究的进一步深入,在对实际图像进行处理的过程时,许多先验知识(包括图像及成像系统的先验知识)往往并不具备,于是就需要在系统点扩散函数未知的情况下,从退化图像自身抽取退化信息,仅仅根据退化图像数据来还原真实图像,这就是盲目图像复原(Blind Image Restoration)所要解决的问题。由于缺乏足够的信息来唯一确定图像的估计值,盲目图像复原方法需要利用有关图像信号、点扩散函数和高斯噪声的已知信息和先验知识,结合一些附加信息,对噪声模糊图像的盲复原以及振铃的消除问题的解形成约束条件,而盲目图像复原就是在满足这些约束条件的前提下,求取真实图像在某种准则下的最佳估计值。
2.1.2 退化模型
图像复原在实际中的应用非常广泛,算法也比较多。在应用中我们要把握两点:一时尽可能地从物理原理上估准图像的点扩展函数,因为只有退化模型准确,才有可能复原出图像本来的面目;二是尽可能地尝试多种方法。否则我们应当从多个方法来观察图像的复原效果,选择结果最好的。
由此可以了解到退化模型的重要性,如果退化模型很准确,对图像的复原是很有好处的,接下来将会介绍退化模型的概念。 [9]
本科毕业设计说明书(论文) 第 5 页 共 30 页 图像的复原就是要尽可能恢复退化图像的本来面目,它是沿图像降质的逆向过程进行。典型的图像复原是根据图像退化的先验知识建立一个退化模型,以此模型为基础,采用各种逆退化处理方法进行恢复,使图像质量得到改善。可见,图像复原主要取决于对图像退化过程的先验知识所掌握的精确程度。
图像复原的一般过程:分析退化原因——建立退化模型—— 反映推演——恢复图像。所以图像恢复一般要分两步:首先通过系统辨识方法求解h ,然后采用相应算法由模糊图像g(x,y) 和点扩展函数h(x,y) 来恢复。
图像复原处理的关键问题在于建立退化模型。在用数学方法描述图像时,它的最普遍的数学表达式:
I =f(x, y, z, λ, t) (2.1) 这样一个表达式可以代表一幅活动的、彩色的立体图像。当研究的是静止的、单色的、平面的图像时,则其数学表达式就简化为
I =f(x, y) (2.2) 基于这样的数学表达式,可建立如图2.1所示的退化模型。由图2.1的模型可见,一幅纯净的图像f (x , y ) 是由于通过了一个系统H 及加性噪声n (x , y ) 而使其退化为一幅图像g (x , y ) 的。
图2.1 图像退化模型
图像复原可以看成是一个估计过程。如果已经给出了退化图像g (x , y ) 并估计出系统参数H ,从而可近似地恢复f (x , y ) 。这里,n (x , y ) 是一种统计性质的噪声信息。当然,为了对处理结果做出某种最佳的估计,一般应首先明确一个质量标准。根据图像的退化模型及复原的基本过程可见,复原处理的关键在于对系统H 的基本了解。就一 般而言,系统是某些元件或部件以某种方式构造而成的整体,整个过程如图2.2所示:
g(x,y)f^(x,y)
图2.2 图像的退化/复原过程模型
对于退化图像g (x , y ) :
+∞+∞
g (x , y ) =⎰⎰
-∞-∞f (α, β) h (x -α, y -β) d αd β+n (x , y ) (2.3)
h ,[h (i , j ) ]CD 、如果上式中f ,产生相应的阵列[f (i , j ) ]AB 、n ,g 按相同间隔采样,
[n (i , j ) ]AB 、[g (i , j ) ]AB ,然后将这些阵列补零增广得到大小为M ⨯N 的周期延拓阵列,
为了避免重叠误差,这里M ≥A +C -1,N ≥B +D -1。由此,当k=0,1,L,M-1;l=0,1,L,N-1时,即可得到二维离散退化模型形式:
M -1N -1
g e (k , l ) =∑∑
i =0j =0f e (i , j ) h e (k -i , l -j ) +n e (k , l ) (2.4)
如果用矩阵表示上式,则可写为:
(2.5) g =Hf +n
其中,f , g , n 为一个行堆叠形成的MN ⨯1列向量,H 为MN ⨯MN 阶的块循环矩阵。
现实中造成图像退化的种类很多,常见的图像退化模型及点扩展函数有如下情景:
(1) 线性移动退化
线性运动退化是由于目标与成像系统间的相对匀速直线运动形成的退化。水平方向线性移动可以用以下退化函数来描述:
⎧1⎪ h (m , n ) =⎨d
⎪⎩0若0≤m ≤d and n =0 (2.6) 其他
式中,d 是退化函数的长度。在应用中如果线性移动退化函数不在水平方向,则可类似地定义移动退化函数。
(2) 散焦退化 当镜头散焦时,光学系统造成的图像退化相应的点扩展函数是一个均匀分布的圆形光斑。此时,退化函数可表示为: ⎧1⎪ h (m , n ) =⎨πR 2
⎪⎩0若m +n =R 其他222 (2.7)
式中,R 是散焦半径。在信噪比较高的情况下,在频域图上可以观察到圆形的轨迹。
(3) 高斯退化
高斯退化函数是许多光学测量系统和成像系统最常见的退化函数。对于这些系统,决定系统点扩展函数的因素比较多。众多因素综合的结果往往使点扩展函数趋于高斯型。高斯退化函数可以表达为:
⎧K exp[-α(m 2+n 2)]h (m , n ) =⎨0⎩若(m , n ) ∈C 其他 (2.8)
式中,K 是归一化常数,α是一个正常数,C 是h (m , n ) 的圆形支持域。由高斯退化函数的表达式可知,二维的高斯函数能分解为两个一维的高斯函数的乘积。
2.2 图像质量的客观评价
各类数字成像技术正在飞速发展,数字图像的清晰度日益成为衡量数字成像系统优劣的重要指标,我们在进行模糊图像复原的同时,如何判定我们复原得到的图像是否比原图像有所改进、清晰度有所提高,这些问题都涉及到如何客观有效地评价数字图像的清晰度。所以,我们在进行图像复原工作的时候,可以把图像质量评价标准作为一个的课题来进行研究,针对特定类型的图像,研究特定的图像质量评价标准。通过客观的图像质量评定标准来判断复原后的图像质量是否改善,以及改善的程度,但是,经常出现这样的情况,就是图像清晰度在主观视觉上有了比较明显的改善,但是其清晰度函数的评价值却不一定提高,或者提高得很少,所以,我们不能将清晰度评价函数值作为图像复原的质量的唯一评价标准,在参考复原图像清晰度评价函数值改变的同时,还需要我们人眼的客观判断,二者的结合才是对复原图像效果的客观而相对准确判断。
2.3 Matlab 在图像复原中的应用
2.3.1 Matlab 简介 MATLAB 语言是由美国MathWorks 公司推出的计算机软件,经过多年的逐步发展与不断完善,现已成为国际公认的最优秀的科学计算与数学应用软件之一,是今年来再国内外广泛流行的一种可视化科学计算软件。它集数值分析、矩阵运算、信号处理和图形显示于一体,构成了一个方便的,界面友好的用户环境,而且还具有可扩展性特征。MathWorks 公司针对不同领域的应用,推出了信号处理、控制系统、神经网络、图像处理、小波分析、鲁棒控制非线性系统控制设计、系统辨识、优化设计、统计分析、财政金融、样条、通信等30多个具有专门功能的工具箱,这些工具箱是由该领域内的学术水平较高的专家编写的,无需用户自己编写所用的专业基础程序,可直接对工具箱进行运用。同时,工具箱内的函数源程序也是开放性的,多为M 文件,用户可以查看这些文件的代码并进行更改,MATLAB 支持用户对其中的函数进行二次开发,用户的应用程序也可以作为新的函数添加到相应的工具箱中。MATLAB 中的数字图像时以矩阵的形式表示的,这意味着MATLAB 强大的矩阵运算能力用于图像处理非常有利,矩阵运算的语法对MATLAB 中的数字图像同样适用[10]。
图像处理工具箱提供一套全方位的参照标准算法和图形工具,用于进行图像处理、分析、可视化和算法开发。可用其对有噪图像或退化图像进行去噪或还原、增强图像以获得更高清晰度、提取特征、分析形状和纹理以及对两个图像进行匹配。工具箱中大部分函数均以开放式 MATLAB 语言编写。
本文对MATLAB 图像处理工具进行探索与应用,实验证明该软件工具箱具有丰富的技术支持,应用简单效果良好。
2.3.2 Matlab 图像恢复函数的介绍
MATLAB7.0 的图像处理工具箱提供了 4 个图像恢复函数,用于实现图像的恢复操作,按照其复杂程度列举如下:
deconvwnr 函数:使用维纳滤波恢复;
deconvreg 函数:使用波约束最小二乘滤波恢复;
deconvlucy 函数:使用 Lucy- Richardson 恢复;
除了以上3个恢复函数外, 还可以使用 MATLAB自定义的恢复函数。
Matlab 语言对图像进行复原处理时具有编程简单、处理速度快的特点。本文研究了利用Matlab 图像处理工具箱函数对图像进行增强和复原处理,取得了不同的效果,适用于不同的处理场合。
2.4 本章小结 本章首先介绍了图像复原的核心理论,包括图像复原的基本概念和退化模型,然后又介绍了图像质量的客观评价方法,接着简单的介绍了常用的四种图像复原方法,它们分别是维纳滤波、正则滤波、LR 算法和盲去卷积。
总而言之,图像复原的算法很多,无论何种算法,原则上,它们都要依据获取的相关信息(包括关于退化系统、原图像、噪声等的确定性信息和统计性信息) 才能有效地实施。算法利用的信息越多,信息的准确性越高,则复原图像的质量就越高。盲图像复原技术在近二十年获得极大的重视,也是目前图像复原研究的重要课题。对这几种算法具体的介绍将在第三、四、五章。
本章第三节介绍了Matlab 软件,简要的介绍了该软件在图像复原领域的功能,并列出了它的图像处理工具箱所提供的函数。
3 几种较经典的复原方法介绍 图像复原算法有线性和非线性两类。线性算法通过对图像进行逆滤波来实现反卷积,这类方法方便快捷,无需循环或迭代,直接可以得到反卷积结果,然而,它有一些局限性,比如无法保证图像的非负性。而非线性方法通过连续的迭代过程不断提高复原质量,直到满足预先设定的终止条件,结果往往令人满意。但是迭代程序导致计算量很大,图像复原时耗较长,有时甚至需要几个小时。所以实际应用中还需要对两种处理方法综合考虑,进行选择。
3.1 维纳滤波
维纳滤波法是由Wiener 首先提出的,在图像复原领域,由于维纳滤波计算量小,复原效果好,从而得到了广泛的应用和发展。维纳滤波最开始主要应用在一维信号处理里,取得了比较不错的效果。之后,维纳滤波法也用于二维信号处理中,也取得了比较好的效果。
维纳滤波器寻找一个使统计误差函数
e =E {(f -f ) 2} (3.1) 2∧
最小的估计f 。E 是期望值操作符,f 是未退化的图像。该表达式在频域可表示为 F (u , v ) =[∧∧1
2H (u , v ) 2H (u , v ) H (u , v ) +S η(u , v ) /S η(u , v ) ]G (u , v ) (3.2)
2其中,H *(u , v ) 表示H (u , v ) 的H (u , v ) 表示退化函数且H (u , v ) =H *(u , v ) H (u , v ) ,
复共轭,S η(u , v ) =N (u , v ) 表示噪声的功率谱,S f (u , v ) =F (u , v ) 表示未退化图像的
功率谱。比率S η(u , v ) /S η(u , v ) 称为信噪功率比。在IPT 中维纳滤波使用函数deconvwnr 来实现的。
维纳滤波能最佳复原的条件是要求已知模糊的系统函数,噪声功率谱密(或其自相关函数) ,原图像功率谱密度(或其自相关函数) 。但实际上,原图像功率谱密度(或其自相关函数) 一般难以获知,再加上维纳滤波是将图像假设为平稳随机场的前提下的最佳滤波,而实际的图像通常不能满足此前提。因此维纳滤波复原算法在实际中只能获得次最佳实施,它更多的是具有理论价值,被用作度量其他算法性能优劣的标杆。 22
3.2 正则滤波法 另一个容易实现线性复原的方法称为约束的最小二乘方滤波,在IPT 中称为正则滤波,并且通过函数deconvreg 来实现。
在最小二乘复原处理中,常常需要附加某种约束条件。例如令Q 为f 的线性算子,为拉格朗日乘子。那么最小二乘方复原的问题可以看成函数Q f
∧2∧2∧,服从约束条件
g -H f =n 2的最小化问题,这种有附加条件的极值问题可以用拉格朗日乘数法来处理。
寻找一个f ,使下述准则函数为最小: W (f ) =Q f ∧∧2∧2∧
+λg -H f -n 2 (3.3)
式中λ叫拉格朗日系数。通过指定不同的Q ,可以得到不同的复原目标。可以发现约束最小二乘复原算法不需要获知原图像的统计值,便可以有效地实施最优估计,这点与维纳滤波是不同的。正则化方法作为一种解决病态反问题的常用方法,通常用图像的平滑性作为约束条件,但是这种正则化策略通常导致复原图像的边缘模糊。
3.3 Lucy-Richardson 算法
前面所讨论的图像复原方法都是线性的。在感觉上它们也更“直接”,因为复原滤波一旦被指定下来,相应的解决方法就会通过滤波器的应用得到。这种实现的简单性、适量的运算要求和容易建立的理论基础,使得线性方法在很多年间都是图像复原的一个基本工具。
在过去的20年里,非线性迭代技术已经越来越多地被人们接受,作为复原的工具,它常常获得比线性方法更好的结果。非线性方法的主要缺陷是它们的特性常常是不可预见的,并且它们常需要获得重要的计算资源。但是经过这些年的发展,这些缺陷都已经不再是问题。因为在很多应用领域非线性技术都优于线性技术,并且在过去的十年中计算能力一直在以惊人的速度增长。在工具箱中选择的非线性方法是由Richardson 和Lucy 独立开发的技术。工具箱提供的这些算法被称为Lucy-Richardson 算法。
LR 算法是一种迭代非线性复原算法,它是从最大似然公式印出来的,图像用泊松
满意的方程: f k +1(x , y ) =f k (x , y )[h (-x , -y ) *
∧∧∧分布加以模型化的。当下面这个迭代收敛时模型的最大似然函数就可以得到一个令人g (x , y ) ∧] (3.4) h (x , y ) *f k (x , y ) *代表卷积,f 代表未退化图像的估计,g 和h 和以前定义一样。
在IPT 中,LR 算法由deconvlucy 函数完成的。
3.4 盲去卷积
前面几种图像复原方法都是在知道模糊图像的点扩展函数的情况下进行的, 而在实际应用中,通常都要在不知道点扩展函数的情况下进行图像复原。那些不以PSF 知识为基础的图像复原方法统称为盲去卷积。盲去卷积恢复就是在这种应用背景下提出的。在过去的20年里,盲去卷积已经受到了人们的极大重视,它是以最大似然估计(MLE)为基础的,即一种用被随机噪声所干扰的量进行估计的最优化策略。简单的说,关于MLE 方法的一种解释就是将图像数据看成是随机量,它们与另外一族可能的随机量之间有着某种似然性,似然函数用g (x , y )、f (x , y )和h (x , y )来加以表达,然后,问题就变成了寻求最大似然函数。在盲去卷积中,最优化问题用规定的约束条件并假定收敛时通过迭代来求解,得到的最大f (x , y )和h (x , y )就是还原的图像和PSF 。MATLAB 提供了 deconvblind 函数用于实现盲解卷积。盲解卷积算法一个很好的优点就是,在对失真情况毫无先验知识的情况下,仍然能够实现对模糊图像的恢复操作。
3.5 本章小结
本章详细的介绍了图像复原的几个基本方法,如维纳滤波、正则滤波、LR 算法和盲去卷积。对它们的原理也进行了比较充分的描述,在第四章将对这些算法进行Matlab 仿真,并进行更深入的比较。
4 Matlab仿真
4.1 维纳滤波和正则滤波的仿真
4.1.1 维纳滤波的仿真 维纳滤波复原函数 deconvwnr 的调用格式:J=deconvwnr(I,PSF,NCORR,ICORR)其中,I 表示输入图像,PSF 表示点扩散函数,NSR (默认值为0)、NCORR 和ICORR 都是可选参数,分别表示信噪比、噪声的自相关函数、原始图像的自相关函数。输出参数J 表示复原后的图像[11]。
本次仿真所用的维纳滤波复原源代码:
I=checkerboard(8);
noise=0.1*randn(size(I));
PSF=fspecial('motion',21,11);
Blurred=imfilter(I,PSF,'circular');
BlurredNoisy=im2uint8(Blurred+noise);
NP=abs(fftn(noise)).^2;
NPOW=sum(NP(:)/numel(noise));
NCORR=fftshift(real(ifftn(NP)));
IP=abs(fftn(I)).^2;
IPOW=sum(IP(:)/numel(noise));
ICORR=fftshift(real(ifftn(IP)));
ICORR1=ICORR(:,ceil(size(I,1)/2));
NSR=NPOW/IPOW;
subplot(221);imshow(BlurredNoisy,[]);
title('模糊和噪声图像');
subplot(222);imshow(deconvwnr(BlurredNoisy,PSF,NSR),[]);
title('deconbwnr(A,PSF,NSR)');
subplot(223);imshow(deconvwnr(BlurredNoisy,PSF,NCORR,ICORR),[]); title('deconbwnr(A,PSF,NCORR,ICORR)');
subplot(224);imshow(deconvwnr(BlurredNoisy,PSF,NPOW,ICORR1),[]); title('deconbwnr(A,PSF,NPOW,ICORR_1_D)');
本科毕业设计说明书(论文) 第 14 页 共 30 页 原始图如图4.1所示,从复原的图像来看,因为这里采用了真实PSF 函数来恢复,效果还是很好的。但是实际生活当中大多数情况下是不知道PSF 的,所以要按照具体情况具体分析,然后再恢复图像。复原结果如图4.2所示:
图4.1 原始图
图4.2 左上图为模糊的噪声图像;右上图为逆滤波的结果;左下图为使用自相 关函数的维纳滤波的结果;右下图为使用常数比率的维纳滤波的结果
观察复原图像,可以发现,第二幅图为直接逆滤波的结果,这个结果是由噪声的效果所决定的。第三幅图是在复原中使用自相关函数,由图可知,所得到的结果虽然仍有一些噪声存在,但已经和原图像很接近了。因为原图像和噪声函数都是已知的,所以可以正确的估算参量,并且该图便是在这种情况下能够由维纳反卷积所得到的最佳结果。在实践中,当这些量之一(或更多)未知时,挑战便是在实验中智能地选择所用的函数,直到获得可接受的结果为止。第四幅图是使用常数比率复原的结果,这种方法对直接逆滤波给出了重大的改进。
本科毕业设计说明书(论文)
4.1.2 正则滤波的仿真 第 15 页 共 30 页
正则滤波恢复函数的调用格式:J=deconvreg(I,PSF,NOISEPOWER,RANGE)。其中,I 表示输入图像,PSF 表示点扩散函数,NOISEPOWER 与成比例,RANGE 为值的范围,在求解γ时,该算法受这个范围的限制。默认范围是[10,10](Matlab中的符号为
[1e-10,1e10].同时,该函数也可以在指定的范围内搜索最优的拉氏算子。利用振铃抑制恢复图像是3种中恢复效果最好的,其他几种方法也可以恢复但是比较模糊,效果不是很明显。
本次仿真所用的规则化滤波复原程序源代码:
I=checkerboard(8);
PSF=fspecial('gaussian',7,10);V=.01;
BlurredNoisy=imnoise(imfilter(I,PSF),'gaussian',0,V);
NOISEPOWER=V*numel(I);
[J LAGRA]=deconvreg(BlurredNoisy,PSF,NOISEPOWER);
subplot(221);
imshow(BlurredNoisy);
title('A=Blurred and Noisy');
subplot(222);imshow(J);
title('[J LAGRA]=deconvreg(A,PSF,NP)');
subplot(223);imshow(deconvreg(BlurredNoisy,PSF,[],LAGRA/10)); title('deconvreg(A,PSF,[],0.1*LAGRA)');
subplot(224);imshow(deconvreg(BlurredNoisy,PSF,[],LAGRA/10)) title('deconvreg(A,PSF,[],10*LAGRA');
原始图如图4.3所示:
-992
图4.3 原始图
本科毕业设计说明书(论文)
复原结果如图4.4所示:
第 16 页 共 30 页
图4.4 左上图为模糊的噪声图像;右上图为使用参量NOISEPOWER 为40的正则滤波复原的图像;左下图为使用参量NOISEPOWER 为4的正则滤波复原的图像;右下图为用参量NOISEPOWER
为0.4的正则滤波复原的图像
观察图像可知,第二幅图相对于原图像已有改善,但也可以明显地看出NOISEPOWER 的值并不是非常好。在对这个参数和参数RANGE 进行实验,通过把NOISEPOWER 的值的量级下调一个等级,而RANGE 也比默认值更加紧凑,得出第三幅和第四幅图。
4.2 LR 算法和盲去卷积的仿真
4.2.1 LR算法的仿真
Lucy-Richardson 算法是目前世界上应用最广泛的函数恢复技术之一,它是一种迭代方法。MATLAB 提供的deconvlucy 函数还能够用于实现复杂图像重建的多种算法中,这些算法都基于Lucy-Richardson 最大化可能性算法.
deconvlucy 函数的调用格式:J=deconvlucy(I ,PSF ,NUMIT ,DAMPAR ,WEIGHT )
本科毕业设计说明书(论文) 第 17 页 共 30 页 其中,I 表示输入图像,PSF 表示点扩散函数。其他参数都是可选参数:NUMIT 表示算法的迭代次数,默认为10次;DAMPAR 是一个标量,它指定了结果图像与原图像I 之间的偏离阈值表,默认值为0(无衰减);WEIGHT 是一个与I 同样大小的数组,它为每一个像素分配一个权重来反映其重量,表示像素加权值,默认值为原始图像的数值。 本次仿真所用的LR 复原滤波源代码:
I=checkerboard(8);
PSF=fspecial('gaussian',7,10);
V=.0001;
BlurredNoisy=imnoise(imfilter(I,PSF),'gaussian',0,V);
LIM=ceil(size(PSF,1)/2);
WT=zeros(size(I));
WT(LIM+1:end-LIM,LIM+1:end-LIM)=1;
J1=deconvlucy(BlurredNoisy,PSF,20);
J2=deconvlucy(BlurredNoisy,PSF,20,sqrt(V));
J3=deconvlucy(BlurredNoisy,PSF,20,sqrt(V),WT);
subplot(221);imshow(BlurredNoisy);
title('A=Blurred and Noisy');
subplot(222);imshow(J1);
title('deconvlucy(A,PSF)');
subplot(223);imshow(J2);
title('deconvlucy(A,PSF,20,DP)');
subplot(224);imshow(J3);
title('deconvlucy(A,PSF,20,DP,WT)');
原始图如图4.5,
图4.5 原始图
复原结果如图4.6所示:
图4.6 左上图是模糊的噪声图像;右上图是LR 算法迭代20次的复原图像;左下图是衰减为0.01,迭代20次的复原图像;右下图是衰减为0.01,且计算出WEIGHT 数组后迭代20次的
复原图像
观察复原图像可知,第一幅图为原图像加上模糊和噪声后的图像,第二幅图是直接用LR 算法迭代20次所得到的复原图像,不难发现,虽然图像已经稍微有些改进了,但是仍有点模糊,第三幅图是衰减为0.01,迭代20次的复原图像。第四幅图是衰减为0.01,且计算出WEIGHT 数组后迭代20次得到的复原图像,并且它为对模糊和噪声图像的合理复原。所以当迭代次数相同的时候,算出WEIGHT 数组能得到用LR 算法复原图像的最佳结果。
事实上,进一步增加迭代次数在复原结果上并没有显著的改进。如图4.7所示,该图是衰减为0.01,并计算出WEIGHT 数组后经过50次迭代后获得的结果。这幅图像只比使用了20次迭代获得的图像稍稍清晰和明亮了一些。另外,在所有得到的结果中,细黑色边界都是由数组WEIGHT 中的0所引起的。总的来说,LR 算法对图像的复
原效果是比较出色的。
图4.7 迭代50次的复原图像
4.2.2 盲去卷积的仿真
MATLAB 提供了deconvblind 函数用于实现盲解卷积。盲解卷积算法一个很好的优点就是,在对失真情况毫无先验知识的情况下,仍然能够实现对模糊图像的恢复操作。 deconvblind 函数的调用格式:[J,PSF]=deconvblind(I ,INITPSF ,NUMIT ,DAMPAR,WEIGHT ), 其中,I 表示输入图像,INITPSF 表示PSF 的估计值,NUMIT 表示算法重复次数,DAMPAR 表示偏差阈值,WEIGHT 表示像素加权重,与LR 算法中的作用相同,用来屏蔽坏像素,J 表示恢复后的图像[12]。
本次仿真所用的盲去卷积算法的源代码:
I=checkerboard(8);
PSF=fspecial('gaussian',7,10);V=.0001;
BlurredNoisy=imnoise(imfilter(I,PSF),'gaussian',0,V);
WT=zeros(size(I));WT(5:end-4,5:end-4)=1;
INITPSF=ones(size(PSF));FUN=inline('PSF+P1','PSF','P1');
[J P]=deconvblind(BlurredNoisy,INITPSF,20,10*sqrt(V),WT,FUN,0); subplot(221);
imshow(BlurredNoisy);
title('A=Blurred and Noisy');
subplot(222);
imshow(PSF,[]);
title('True PSF');
subplot(223);
imshow(J);
title('Deblured Image');
subplot(224);
imshow(P,[]);
原始图像如图4.8所示:
图4.8 原始图
复原图像如图4.9所示:
图4.9 左上图为模糊的噪声图像;右上图为真实的PSF ;左下图为去除模糊的复原图像;右
下图为估计的PSF
由图可知,当用盲去卷积算法迭代20后所得到的复原图像是比较好的,并且当迭代20次后,所估计的PSF 也很接近于真实的PSF 。
4.3 常用图像复原方法的比较 本章前两节已经对维纳滤波、正则滤波、LR 算法和盲去卷积进行了仿真,对它们的复原能力有了了解。在线性复原方法中,对仿真结果的对比可以发现,使用自相关函数的维纳滤波的复原能力要比正则滤波的结果好的多,但条件是必须已经对噪声和图像谱的知识有足够的了解。若没有这些信息,则用两种滤波器通过实验得到的结果常常是可比的;在非线性复原方法中,由仿真结果的对比可知,LR 算法和盲去卷积均能得到较好的复原图像,LR 算法的复原效果稍好于盲去卷积。但考虑到实际应用,对失真情况往往没有先验知识,因此,盲去卷积算法的用途将会更大。 它们的特点如下:
1. 维纳滤波是一种经典的线性解卷积方法,能有效抑制与噪声相比可忽略的能量;
2. 正则滤波是线性方法,用正则滤波进行图像恢复也可以看作约束最优化问题,即原图像的最优估值。选择正则化参数是一个非常困难的问题,正则解对正则化参数非常敏感:正则化参数太小,图像的平滑区域仍然充满噪声;正则化参数太大,图像的边缘和纹理被模糊;
3.LR 算法也是比较经典的解卷积算法,且往往能取得很理想的图像复原结果,也跟大多数非线性方法一样,关于什么时候停止LR 算法通常很难回答;
4. 盲去卷积是越来越受到人们重视的一种非线性复原方法,它是一种用被随即噪声所干扰的量进行估计的最优化策略,因此,在不知道点扩展函数时能有效复原图像,而不知道点扩展函数在实际应用中是经常遇到的。
这几种图像复原方法都是针对一种或某几类图像数据资料的具体特点而提出的,在处理实际图像时,应该考虑到这一点,根据图像的具体情况来选择较为有效的方法。在本文所讨论的处理模糊和噪声图像中,维纳滤波的复原效果最好,但是两种非线性方法也能取得比较好的结果。但是考虑到处理实际图像时,通常不知道点扩散函数,所以盲去卷积的应用更广。综合考虑以上因素,选取盲去卷积方法来处理该类噪声更加符合实际情况。对盲去卷积,将在第五章进行更深入的介绍。
4.4 本章小结
本章通过Matlab 软件对这四种常用的图像复原方法进行了仿真,通过对复原图像的比较,能看出它们对模糊和噪声图像的复原能力。本章先仿真了线性复原方法,
也就是维纳滤波和正则滤波,再仿真LR 算法和盲去卷积这两种非线性复原方法,在仿真的同时,也对每种算法所用的函数的调用方式进行了简单的介绍。最后,比较了这几种复原方法的特点。
本科毕业设计说明书(论文)
5 盲去卷积
5.1 盲去卷积的设计思想及流程图 第 23 页 共 30 页
在许多实际情况下,点扩展函数难以确定,必须从观察图像中以某种方式抽出退化信息,找出图像复原方法,这种方法就是图像盲复原[13]。通常图像盲复原过程如图
5.1所示。图像盲复原问题可描述为通过观测到的模糊图像g (x , y ) 以及有关原始图像模糊的先验知识,获得对原始图像的估计。
图像和模糊的部分信息
图5.1 盲复原的流程图
盲去卷积的方法是以最大似然估计(MLE)为基础的,即一种用被随机噪声所干扰的量进行估计的最优化策略。似然函数用g (x , y )、f (x , y )和h (x , y )来加以表达,然后问题就变成了寻求最大似然函数。在盲去卷积中,最优化问题用规定的约束条件并假定收敛时通过迭代来求解,得到的最大f (x , y )和h (x , y )就是还原的图像和PSF [14]。
5.2 盲去卷积对灰度噪声图像的复原仿真
先读取原始图像,之后对其进行模糊化,程序段如下:
I=checkerboard(8);
PSF=fspecial('gaussian',7,10);
V=.0001;
BlurredNoisy=imnoise(imfilter(I,PSF),'gaussian',0,V);
通常图像恢复方法均在成像系统的点扩展函数PSF 已知下进行,实际上它通常是未知的。在未知的情况下,盲去卷积是实现图像恢复的有效方法。调用deconvblind 函数进行恢复。以下程序段是以真实大小的INTIPS 恢复图像,同时初步重建PSF ,其程序段如下:
WT=zeros(size(I));
WT(5:end-4,5:end-4)=1;
本科毕业设计说明书(论文) 第 24 页 共 30 页 INITPSF=ones(size(PSF));FUN=inline('PSF+P1','PSF','P1');
[J P]=deconvblind(BlurredNoisy,INITPSF,20,10*sqrt(V),WT,FUN,0); subplot(221);imshow(BlurredNoisy);title('A=Blurred and Noisy'); subplot(222);imshow(PSF,[]);title('True PSF');
subplot(223);imshow(J);title('Deblured Image');
subplot(224);imshow(P,[]);
对图像使用定义的WEIGHT 数组对图像进行重建,得到恢复结果。该算法同时恢复了图像和点扩散函数,在对失真情况毫无先验知识的情况下,仍能实现对模糊图像的恢复操作。利用Matlab 实现的图像恢复,并对恢复图像的失真情况做了改善。在进行图像恢复时,重建PSF ,对图像进行重建,得到恢复的图像。
原始图像如图5.2所示:
图5.2 原始图
复原图像如图5.3所示:
图5.3 左上图为模糊的噪声图像;右上图为真实的PSF ;左下图为
去除模糊的复原图像;右下图为估计的PSF
本科毕业设计说明书(论文)
5.3 盲去卷积对彩色噪声图像的复原仿真 第 25 页 共 30 页
对彩色图像进行模糊,增加加性噪声,最后利用盲去卷积进行恢复。 源代码如下:
I=imread('colour.tif');
figure;imshow(I);
title('原始图像');
PSF=fspecial('motion',13,45);
figure;imshow(PSF,[],'notruesize');title('初始psf'); Blurred=imfilter(I,PSF,'circ','conv');
figure;imshow(Blurred);title('模糊后图像');
INITPSF=ones(size(PSF));
[J P]=deconvblind(Blurred,INITPSF,30);
figure;imshow(J);
title('恢复后图像');
figure;imshow(P,[],'notruesize');
title('恢复PSF');
WEIGHT=edge(I,'sobel',.28);
se1=strel('disk',1);
se2=strel('line',13,45);
WEIGHT=~imdilate(WEIGHT,[se1 se2]);
weight=padarray(WEIGHT(2:end-1,2:end-1),[2 2]); %%保存图像
imwrite(I,'ex0608_1.bmp','bmp');
imwrite(PSF,'ex0608_2.bmp','bmp');
imwrite(Blurred,'ex0608_3.bmp','bmp');
imwrite(J,'ex0608_4.bmp','bmp');
imwrite(P,'ex0608_5.bmp','bmp');
imwrite(WEIGHT,'ex0608_6.bmp','bmp');
imwrite(J2,'ex0608_7.bmp','bmp');
imwrite(P2,'ex0608_8.bmp','bmp');
本科毕业设计说明书(论文)
复原结果如图5.4所示:
第 26 页 共 30 页
(a ) (b)
(c) (d)
(e)
图5.4 (a )初始图像;(b )初始PSF ;(c )恢复的PSF ;(d )噪声图像;(e )复原图像
本科毕业设计说明书(论文) 第 27 页 共 30 页 从上面的结果来看,盲去卷积复原彩色图像并不十分理想,恢复的PSF 也不是特别好。而图像复原在实际中的应用非常广泛,算法也比较多。但因无须知道图像降质的点扩散函数,因此在实际应用还是具有较好的使用意义的[15]。
5.4 本章小结
本章更深入的介绍了盲去卷积,包括它的设计思想、流程图、源代码的实现,在本章的最后利用盲去卷积对被噪声污染的彩色图像的复原,并给出了该源代码。但结果发现,盲去卷积对彩色图像的复原并不是太好,但是因为它无须知道点扩散函数,应用前景仍然很广阔。
结 论
本论文首先介绍了图像复原的基本概念,之后详细的介绍了比较经典的四种图像复原方法,分别是维纳滤波法、正则滤波、LR 算法和盲去卷积。并且在第四章对这几种算法进行了Matlab 仿真,并比较了它们的复原结果。
由仿真结果可知,采用维纳滤波复原可以取得比较好的效果,这个算法可以使估计的点扩散函数值更加接近它的真实值。正则滤波的复原效果相比而言没有那么好。而在非线性方法中,在本文的仿真实验中可以发现,LR 算法和盲去卷积的复原效果都是不错的。在模糊图像的点扩展函数的情况下,可以调用常规的图像复原算法;而现实里还会遇见不知道点扩展函数的情况,这个时候我们就须利用盲卷积复原算法。它是利用原始图像模糊,同时进行清晰图像的恢复和点扩展函数计算的一种方法。因此,盲卷积复原算法的优点就是,对失真情况还未知的情形下,仍然能够操作恢复模糊图像。
基于盲去卷积的优点,第五章对其进行了详细的介绍,并且在Matlab 环境下仿真实现了对彩色噪声图像盲去卷积的复原处理,仿真结果主观评价效果不佳。但因为此方法无需对图像退化先验知识,所以有很好的应用前景。
另外,Matlab 语言对图像进行增强处理时具有编程简单等特点。因为该软件的性能,本文利用Matlab 图像处理工具箱函数对图像进行复原处理时,取得了不同的效果,完成了图像的仿真工作。
参 考 文 献
[1] 曲振峰,李小光. 数字图像去噪盲复原算法改进研究[J]. 湖南工程学院学报, 2011, 21(1): 12-16.
[2] 孙韶杰,吴琼,李国辉. 基于变分贝叶斯估计的相机抖动模糊图像的盲复原算法[J]. 电子与信息学报,2010,32(11): 2674-2679.
[3] 吴定允,张利红,梁英波. 一种改进的图像盲复原算法[J]. 周口师范学院学报,2011,28(2): 151-160.
[4] 刘杰平,余英林.基于小波变换的盲图像恢复[J].微电子学与计算机,2004,21(8):73-79.
[5] 郭永彩,王婀娜,高潮. 基于空间自适应和正则化技术的盲图像复原[J]. 光学精密工程,2008,16(11): 2263-2267.
[6] 胡海平,莫玉龙. 基于贝叶斯估计的小波阈值图像降噪方法[J]. 红外与毫米波学报,2002,21(1): 74-76.
[7] A P Dempster,N M Laird and DB Rubin .Maximum likelihood from Incomplete data via EM algorithm[J].Jroyal StatisealSer .B .1977,39(1):1-38.
[8] G R Ayers ,J C Dainty .Iterative blind deconvolution method and its
Applications[J].Optics Letters.1998,13(7):547-549.
[9] 江洁,邓琼,张广军. 基于小波变换的正则化盲图像复原算法[J]. 光学精密工程[J]. 2007,15(4): 582-586.
[10] 余成波编著. 数字图像处理及MATLAB 实现[M]. 北京:机械工业出版社,
2010.167-175.
[11] 王大勇,伏西洋,郭红锋,赵博,郑怡嘉,陶世荃. 光学稀疏孔径系统的
成像及其图像复原[J]. 光子学报,2005,34(10):1557-1560.
[12] 白向军,彭国华,陈晓. 复合的图像盲复原算法[J]. 计算机工程与应用,
2009, 45(03): 471-472.
[13] 郭永彩,高潮,王婀娜. 基于小波变换和非负支撑域递归逆滤波算法的盲
目图像复原[J]. 光学学报,2009,29(11): 2000-3003.
[14] 彭自然,罗大庸,张航. 一种基于粒子群优化算法的图像盲复原方法[J].
计算技术与自动化,2007,26(2): 122-128.
[15] 陈前荣,陆启生,成礼智,刘泽金,舒柏宏,王红霞,黎全. 运动模糊图
像点扩散函数尺度鉴别[J]. 计算机工程与应用,2004,23(3): 78-93.