小波变换在数字图像处理中的应用
引言:小波变换(wavelet transform,WT)是一种新的变换分析方法,是20世纪80年代中期基于Y.Meyer、S.Mallat等人的奠基性工作而迅速发展起来的一门新兴学科。与傅里叶变换相比,其继承和发展了短时傅里叶变换局部化的思想,克服了窗口大小不随频率变化等缺点。与傅里叶变换的频域分析方法不同,小波动变宽变低,具有自动“聚焦”功能。由于离散小波变换可把信号分解为不同尺度下的信号,而且非常灵活,所以把小波称为“数学显微镜”。小波分析的应用领域及其宽广,在数字图像处理方面,因其无约束基性质,对于一大类信号的压缩、去噪和检测,小波是接近最优的。本文将简单介绍小波变换原理,并讨论其在数字图像领域中的应用。
1. 理论基础
1.1 小波导引
对任意f(t)?L2(R),其小波展开可以构造一个两参数系统,即
f(t)??k?ajj,k?j,k(t)
(1.1)
其中j,k是整数指标,?j,k(t)是小波函数,通常形成一组正交基。展开的系数集aj,k成为f(t)的离散小波变换(DWT)。
aj,k??f(t)?j,k(t)d(t)R
(1.2)
可用内积表示,即
aj,k?f(t),?j,k(t) (1.3)
小波变换的特征:
1)它把一维(或高维)信号用二维展开集(通常是一组基)表示。 2)小波展开具有时频局部化的特点。 3)O(N)。
4)所有的一代小波系统是由一个尺度函数或小波函数通过简单的尺度伸缩和平移生成的。如下,小波函数(或小波基函数)由生成小波(或母小波)生成:
ai,j的计算效率可以非常高,大多数小波变换(展开系数集)的计算量为
?j,k(t)?2j/2?(2j/2t?k) (1.4)
其中,k代表时间或空间,j代表频率或尺度。
5)几乎所有有用的小波系统都满足多分辨条件,即如果展开基的宽度减小一半,且平移步长也减半,那么它们更利于描述图像的细节。
6)使用一个称为滤波器组的树结构算法,低分辨率系数可以由高分辨系数得到,因此计算效率很高。
1.2 小波系统的多分辨阐述
1.2.1 尺度函数
小波的多分辨分析与尺度函数这一概念不可分割,借助于一个基本尺度函数
?(t),可以定义一个尺度函数的集合:
?k(t)??(t?k),k?Z??L2 (1.5)
2(R)由?k(t)张成的L的子空间Vo定义为
k (1.6)
则通过基本尺度函数的尺度变化和平移得到的二维函数族:
Vo?Span{?k(t)}?j,k(t)?2j/2?(2jt?k)对所有的
k?Z (1.7)
,可以张成空间
(1.8)
Vj?Span{?k,j(t)}k对于
f(t)?Vjk,那么它可以表示为
(1.9)
j?0?j,k(t)j?0?j,k(t)如果,表示细节信息;如果,表示粗糙信息。 1.2.2 多分辨分析
陈述多分辨分析的基本要求是张成空间满足如下嵌套关系:
Vj?Vj?1 (1.10)即包含高分辨率的信号空间也包含较低分辨率的信号空间。由Vj的定义,空间必须满足固有的尺度条件:
f(t)?Vj?f(2t)?Vj?1 (1.11)
f(t)??ak?(2jt?k)这意味着?(t)可以借助于?(2t)的平移加权和表示:
n?Z (1.12) ?(t)??h(n)2?(2t?n),
n其中系数h(n)是称为尺度函数(或尺度滤波器)系数的实数或复数序列,在本文后面会提到它作为一维离散小波变换的数字低通滤波器。
为了更好的描述信号的细节信息,除了尺度函数还需定义一个不同的函数集
?j,k(t)来张成不同尺度空间的差空间,这个函数就是小波函数。
将Vj?1中Vj的正交补空间定义为Wj,则Vj中的所有元素正交于Wj中的所有元素。对任意j?Z满足如下关系:
Vj?1?Vj?Wj (1.13)一般情况下,当V0为尺度函数?(t?k)张成的初始空间时,有
L2?V0?W0?W1?? (1.14)如图1.1所示。初始尺度空间的尺度是任意的,一般选择的尺度应能够表示信号的感兴趣的组粗糙细节。由于W0?V1,因此对于某个系数集h1(n),小波可以由尺度函数?(2t)的平移加权和表示为
n?Z (1.15) ?(t)??h1(n)2?(2t?n) ,
n其中尺度系数h(n)与小波系数h1(n)之间有如下关系:
h1(n)?(?1)nh(1?n) (1.16)对于形如
?j,k(t)?2j/2?(2jt?k) (1.17)的展开函数类可由式(1.15)表示的母小波?(t)经尺度变换和平移得到。至此,由?k(t)和?j,k(t)张成整个L2(R)空间,对任意函数g(t)?L2(R),可以写为尺度函数和小波函数的级数展开,即
g(t)?(1.18)
k????c?j0(k)?k(t)???j?j0k????d(j,k)??j,k(t)
式(1.18)中第一个和式给出g(t)的一个低分辨或粗糙的逼近,在第二个和式中,随指标j的增加,一个个较高的或较细分辨的函数不停地加入,从而加进了更多的细节信息。对于式中的系数可由如下变换得到:
cj(k)?g(t),?j,k(t)??g(t)?j,k(t)dt (1.19) dj(k)?g(t),?j,k(t)??g(t)?j,k(t)dt (1.20)
这种小波展开中的系数就称为信号g(t)的离散小波变换(DWT)。
图1.1 尺度函数向量空间和小波向量空间
1.3 离散小波变换
在实际应用当中,不需要直接处理尺度函数或小波,只需考虑系数h(n)和
h1(n),以及cj(k)和dj(k)。他们之间的关系如下:
cj(k)??h(m?2k)cj?1(m) (1.21)
mdj(k)??h1(m?2k)cj?1(m) (1.22)
m可见执行离散小波变换可由二通道滤波器组实现,如图1.2所示。
图1.2 一维离散小波变换
以上是以分析滤波器对信号实现分解,也可以用综合滤波器对信号实现重构,重构过程实际上是你离散小波变换(IDWT)。重构原理可表示为
cj?1(k)?2?h(m?2k)cj(m)?2?h1(m?2k)dj(m)mm
(1.23)
其实现方式如图1.3所示。
图1.3二通道综合滤波器组
若输入为一数字图像,则对图像做的小波变换为二维离散小波变换,该变换有两种方式,一种为标准的二维离散小波变换,另一种为非标准的二维离散小波变换。前者是先在水平方向进行多层一维离散小波变换,直到水平方向上得到最粗糙细节,再对得到的图像做垂直方向上的多层一维离散小波变换,这种变换得到的特征是不规则的。后者是分别对图像在水平和垂直方向上做一层一维离散小波变换,重复直到得到图像最粗糙细节,这种方式得到的特征是方形的。本文采用非标准二维离散小波变换,其原理框图见图1.4.
图1.4二维离散小波变换
以上执行离散小波变换的方法是由Mallat于1988年提出的,称为为Mallat算法。
2. 小波变换的相关算法
2.1 Mallat算法
Mallat算法是由S.Mallat和Y.Meyer在前人大量工作的基础上于1986年提出的。1989年,Mallat在小波变换多分辨分析理论与图像处理的应用研究中受到塔式算法的启发,提出了信号的塔式多分辨率分析与重构的快速算法。该算法已在上一节做描述,其分解原理见式(1.21)(1.22),重构原理见式(1.23)。
实现该算法的编程思想如图2.1所示