Download presentation
Presentation is loading. Please wait.
Published byMaurits de Backer Modified 6年之前
1
2002秋季学期网上课程 多媒体技术基础与应用 (Multimedia Fundamentals and Applications) (Face to Face 2 of 4)
林 福 宗 清华大学 计算机科学与技术系 智能技术与系统国家重点实验室 2002年10月9日 2002年10月9日
2
小波变换与应用 5. 二维哈尔小波变换 一、小波变换 1.小波 2.小波变换 3. 离散小波变换 二、Haar小波变换 1.哈尔函数
2.求均值和差值 3. 哈尔变换的特性 4.一维哈尔小波变换 5. 二维哈尔小波变换 三、阅读和练习作业 2002年10月9日
3
一、Wavelet Transform 小波分析是近十几年才发展起来并迅速应用到图像处理和语音分析等众多领域的一种数学工具。它是继110多年前的傅立叶(Joseph Fourier)分析之后的一个重大突破,无论是对古老的自然学科还是对新兴的高新技术应用学科都产生了强烈冲击。 小波理论是应用数学的一个新领域。要深入理解小波理论需要用到比较多的数学知识。本教学提纲企图从工程应用角度出发,用比较直观的方法来介绍小波变换和它的应用,为读者深入研究小波理论和应用提供一些背景材料 2002年10月9日
4
1. What is wavelet 一种函数 具有有限的持续时间、突变的频率和振幅 波形可以是不规则的,也可以是不对称的
在整个时间范围里的幅度平均值为零 比较正弦波 2002年10月9日
5
部分小波波形 2002年10月9日
6
小波的定义 Wavelets are a class of a functions used to localize a given function in both space and scaling. A family of wavelets can be constructed from a function , sometimes known as a "mother wavelet," which is confined in a finite interval. "Daughter wavelets" are then formed by translation (b) and contraction (a). Wavelets are especially useful for compressing image data, since a wavelet transform has properties which are in some ways superior to a conventional Fourier transform. 2002年10月9日
7
An individual wavelet can be defined by
Then and Calderón's formula gives A common type of wavelet is defined using Haar functions. 2002年10月9日
8
2. Wavelet Transform 老课题 函数的表示方法
新方法 Fourier Haar wavelet transform 2002年10月9日
9
(1) 1807: Joseph Fourier 傅立叶理论指出,一个信号可表示成一系列正弦和余弦函数之和,叫做傅立叶展开式。
用傅立叶表示一个信号时,只有频率分辨率而没有时间分辨率,这就意味我们可以确定信号中包含的所有频率,但不能确定具有这些频率的信号出现在什么时候。 为了继承傅立叶分析的优点,同时又克服它的缺点,人们一直在寻找新的方法。 2002年10月9日
10
傅立叶变换的定义:A mathematical description of the relationship between functions of time and corresponding functions of frequency; a map for converting from one domain to the other. For example, if we have a signal that is a function of time--an impulse response-- then the Fourier Transform will convert that time domain data into frequency data, for example, a frequency response. ( 2002年10月9日
11
(2) 1910: Alfred Haar发现Haar小波
1909年他发现了小波,1910年被命名为Haar wavelets 他最早发现和使用了小波。 2002年10月9日
12
(3) 1945: Gabor提出STFT 20世纪40年代Gabor开发了STFT (short time Fourier transform) STFT的时间-频率关系图 2002年10月9日
13
(4) 1980: Morlet提出了CWT CWT (continuous wavelet transform)
20世纪70年代,当时在法国石油公司工作的年轻的地球物理学家Jean Morlet提出了小波变换WT(wavelet transform)的概念。 20世纪80年代,从STFT开发了CWT: 2002年10月9日
14
Definition - Basis Functions: a set of linearly independent functions that can be used (e.g., as a weighted sum) to construct any given signal. where: a = scale variable -缩放因子 k = time shift -时间平移 h* = wavelet function -小波函数 用y = scaled (dilated) and shifted (translated) Mother wavelet function, 在CWT中,scale和position是连续变化的 2002年10月9日
15
缩放(scaled)的概念 例1:正弦波的算法 2002年10月9日
16
缩放(scaled)的概念(续) 例2:小波的缩放 2002年10月9日
17
平移(translation)的概念 2002年10月9日
18
(5) CWT的变换过程 可分成如下5个步骤 步骤1: 把小波 和原始信号 的开始部分进行比较
步骤1: 把小波 和原始信号 的开始部分进行比较 步骤2: 计算系数c 。该系数表示该部分信号与小波的近似程度。系数 c 的值越高表示信号与小波越相似,因此系数c 可以反映这种波形的相关程度 步骤3: 把小波向右移,距离为 ,得到的小波函数为 ,然后重复步骤1和2。再把小波向右移,得到小波 ,重复步骤1和2。按上述步骤一直进行下去,直到信号 结束 步骤4: 扩展小波 ,例如扩展一倍,得到的小波函数为 步骤5: 重复步骤1~4 2002年10月9日
19
(a) 二维图 2002年10月9日
20
(b) 三维图 连续小波变换分析图 2002年10月9日
21
(6) 三种变换的比较 2002年10月9日
22
(7) 1984: subband coding (Burt and Adelson)
SBC (subband coding)的基本概念: 把信号的频率分成几个子带,然后对每个子带分别进行编码,并根据每个子带的重要性分配不同的位数来表示数据 20世纪70年代,子带编码开始用在语音编码上 20世纪80年代中期开始在图像编码中使用 1986年Woods, J. W.等人曾经使用一维正交镜像滤波器组(quadrature mirror filterbanks,QMF)把信号的频带分解成4个相等的子带 2002年10月9日
23
图(a) 正交镜像滤波器(QMF) 2002年10月9日
24
图(b) 表示其相应的频谱 图中的符号 表示频带降低1/2,HH表示频率最高的子带,LL表示频率最低的子带。这个过程可以重复,直到符合应用要求为止。这样的滤波器组称为分解滤波器树(decomposition filter trees) 2002年10月9日
25
(8) 20世纪80年代 Mallat, Meyer等人提出multiresolution theory
法国科学家Y.Meyer创造性地构造出具有一定衰减性的光滑函数,他用缩放(dilations)与平移(translations)均为 2的j次幂的倍数构造了平方可积的实空间L2(R)的规范正交基,使小波得到真正的发展 小波变换的主要算法由法国的科学家Stephane Mallat提出 S.Mallat于1988年在构造正交小波基时提出了多分辨率分析(multiresolution analysis)的概念, 从空间上形象地说明了小波的多分辨率的特性 提出了正交小波的构造方法和快速算法,叫做Mallat算法。该算法统一了在此之前构造正交小波基的所有方法,它的地位相当于快速傅立叶变换在经典傅立叶分析中的地位。 2002年10月9日
26
小波分解得到的图像 2002年10月9日
27
(9)著名科学家 Inrid Daubechies,Ronald Coifman和 Victor Wickerhauser等著名科学家
把这个小波理论引入到工程应用方面做出了极其重要的贡献 Inrid Daubechies于1988年最先揭示了小波变换和滤波器组(filter banks)之间的内在关系,使离散小波分析变成为现实 在信号处理中,自从S.Mallat和Inrid Daubechies发现滤波器组与小波基函数有密切关系之后,小波在信号(如声音信号,图像信号等)处理中得到极其广泛的应用。 …… 2002年10月9日
28
小波变换 经过十几年的努力,这门学科的理论基础已经基本建立,并成为应用数学的一个新领域。这门新兴学科的出现引起了许多数学家和工程技术人员的极大关注,是国际科技界和众多学术团体高度关注的前沿领域。 2002年10月9日
29
3. 离散小波变换 在计算连续小波变换时,实际上也是用离散的数据进行计算的,只是所用的缩放因子和平移参数比较小而已。不难想象,连续小波变换的计算量是惊人的。 为了解决计算量的问题,缩放因子和平移参数都选择 ( j.>0的整数)的倍数。使用这样的缩放因子和平移参数的小波变换叫做双尺度小波变换(dyadic wavelet transform),它是离散小波变换(discrete wavelet transform,DWT)的一种形式。 2002年10月9日
30
3. 离散小波变换(续) 使用离散小波分析得到的小波系数、缩放因子和时间关系如图所示。
图(a)是20世纪40年代使用Gabor开发的短时傅立叶变换(short time Fourier transform,STFT)得到的时间-频率关系图 图(b)是20世纪80年代使用Morlet开发的小波变换得到的时间-缩放因子(反映频率)关系图。 2002年10月9日
31
离散小波变换分析图 2002年10月9日
32
DWT变换方法 执行离散小波变换的有效方法是使用滤波器 用滤波器执行离散小波变换的概念如图所示
该方法是Mallat在1988年开发的,叫做Mallat算法 这种方法实际上是一种信号的分解方法,在数字信号处理中称为双通道子带编码 用滤波器执行离散小波变换的概念如图所示 S表示原始的输入信号,通过两个互补的滤波器产生A和D两个信号 A表示信号的近似值(approximations) D表示信号的细节值(detail) 2002年10月9日
33
双通道滤波过程 在许多应用中,信号的低频部分是最重要的,而高频部分起一个“添加剂”的作用。犹如声音那样,把高频分量去掉之后,听起来声音确实是变了,但还能够听清楚说的是什么内容。相反,如果把低频部分去掉,听起来就莫名其妙。在小波分析中,近似值是大的缩放因子产生的系数,表示信号的低频分量。而细节值是小的缩放因子产生的系数,表示信号的高频分量。 2002年10月9日
34
小波分解树 离散小波变换可以被表示成由低通滤波器和高通滤波器组成的一棵树 原始信号通过这样的一对滤波器进行的分解叫做一级分解
信号的分解过程可以叠代,也就是说可进行多级分解。 如果对信号的高频分量不再分解,而对低频分量连续进行分解,就得到许多分辨率较低的低频分量,形成如图所示的一棵比较大的树。这种树叫做小波分解树(wavelet decomposition tree) 分解级数的多少取决于要被分析的数据和用户的需要 2002年10月9日
35
(a)信号分解 (b)系数结构 (c)小波分解树
2002年10月9日
36
小波包分解树 小波分解树表示只对信号的低频分量进行连续分解。如果不仅对信号的低频分量连续进行分解,而且对高频分量也进行连续分解,这样不仅可得到许多分辨率较低的低频分量,而且也可得到许多分辨率较低的高频分量。这样分解得到的树叫做小波包分解树(wavelet packet decomposition tree),这种树是一个完整的二进制树。 2002年10月9日
37
图表示的是一棵三级小波包分解树。小波包分解方法是小波分解的一般化,可为信号分析提供更丰富和更详细的信息。例如,小波包分解树允许信号S表示为
2002年10月9日
38
降采样过程 在使用滤波器对真实的数字信号进行变换时,得到的数据将是原始数据的两倍。例如,如果原始信号的数据样本为1000个,通过滤波之后每一个通道的数据均为1000个,总共为2000个。 根据尼奎斯特(Nyquist)采样定理就提出了降采样(downsampling)的方法,即在每个通道中每两个样本数据取一个,得到的离散小波变换的系数(coefficient)分别用cD和cA表示 2002年10月9日
39
如图所示。图中的符号 表示降采样。 降采样过程 2002年10月9日
40
小波变换的定义 A transform which localizes a function both in space and scaling and has some desirable properties compared to the Fourier transform. The transform is based on a wavelet matrix, which can be computed more quickly than the analogous Fourier matrix. An alternative to the discrete cosine transform (DCT), the wavelet transform changes data, such as video data, into the sum of varying frequency wavelets. Wavelets are sometimes used instead of the DCT because they are more versatile and dont slow down as much with larger images as the DCT does. Intels Indeo technology makes use of wavelets. 2002年10月9日
41
二、Haar小波变换 Haar Transform A one-dimensional transform which makes use of the Haar functions. H- Transform, Haar Function References Haar, A. © Wolfram Research, Inc. header... H-Transform A two-dimensional generalization of the Haar transform which is used for the compression of astronomical images. The algorithm consists of dividing the image into blocks of pixels, calling the pixels in the block , , , and . For each block, compute the four coefficients Construct... 2002年10月9日
42
1.哈尔函数 哈尔基函数 基函数是生成矢量空间V j 而定义的一组线性无关的函数,可以用来构造任意给定的信号。也称尺度函数(scaling function),用符号V j 表示。 哈尔小波函数 哈尔小波函数是生成矢量 的一组线性无关的函数 ,用符号W j表示。矢量空间W j中的小波可用来表示一个函数在矢量空间 中不能表示的部分。 见《多媒体技术基础》第2版,8.2 2002年10月9日
43
2. 哈尔变换原理 假设两个信号的数值分别为a和b,计算它们的和与差, 从s和d重新获得a和b, 2002年10月9日
44
哈尔变换举例 【例】假设有一幅分辨率只有4个像素 的一维图像,对应的像素值或者叫做图像位置的系数分别为: [ ] 计算它的哈尔小波变换系数 步骤1:求均值(averaging)。计算相邻像素对的平均值,得到一幅分辨率比较低的新图像,它的像素数目变成了2个,即新的图像的分辨率是原来的1/2,相应的像素值为:[8 4] 2002年10月9日
45
哈尔变换举例(续) 步骤2:求差值(differencing) 用2个像素表示这幅图像时,图像的信息已经部分丢失。为了能够从由2个像素组成的图像重构出由4个像素组成的原始图像,就需要存储一些图像的细节系数(detail coefficient),以便在重构时找回丢失的信息。原始图像可用下面的两个平均值和两个细节系数表示,[ ] 步骤3:重复步骤1和2 把由第一步分解得到的图像进一步分解成分辨率更低的图像和细节系数。在这个例子中,分解到最后,就用一个像素的平均值6和三个细节系数2,1和-1表示整幅图像:[ ] 2002年10月9日
46
哈尔变换过程 分辨率 平均值 细节系数 4 [9 7 3 5] 2 [8 4] [1 -1] 1 [6] [2]
[ ] 2 [8 4] [1 -1] 1 [6] [2] 把由4像素组成的一幅图像用一个平均像素值和三个细节系数表示 这个过程就叫做哈尔小波变换(Haar wavelet transform),也称哈尔小波分解(Haar wavelet decomposition) 这个概念可以推广到使用其他小波基的变换 2002年10月9日
47
3. 哈尔变换的特性 从这个例子中我们可以看到: 变换过程中没有丢失信息,因为能够从所记录的数据中重构出原始图像。
对这个给定的变换,我们可以从所记录的数据中重构出各种分辨率的图像。例如,在分辨率为1的图像基础上重构出分辨率为2的图像,在分辨率为2的图像基础上重构出分辨率为4的图像 通过变换之后产生的细节系数的幅度值比较小,这就为图像压缩提供了一种途径。例如,去掉一些微不足道的细节系数并不影响对重构图像的理解 2002年10月9日
48
4. 一维哈尔小波变换 求均值和差值的过程实际上就是一维小波变换的过程,现在用数学方法重新描述小波变换的过程 2002年10月9日
49
(1) 哈尔基函数 基函数是一组线性无关的函数,可以用来构造任意给定的信号, 如用基函数的加权和表示。定义了基和矢量空间,就可以把由2j 个像素组成的一维图像看成为矢量空间 中的一个矢量。 最简单的基函数是哈尔基函数(Haar basis function)。哈尔基函数在1909年提出,它是由一组分段常值函数(piecewise-constant function)组成的函数集。这个函数集定义在半开区间 上,每一个分段常值函数的数值在一个小范围里是“1”,其他地方为“0” 以图像为例并使用线性代数中的矢量空间来说明哈尔基函数。 2002年10月9日
50
哈尔基函数(续1) 这4个常值函数就是构成矢量空间V 2的基 2002年10月9日
51
哈尔基函数(续2) 为了表示矢量空间中的矢量,每一个矢量空间V j 都需要定义一个基(basis)
为生成矢量空间 而定义的基函数也叫做尺度函数(scaling function),这种函数通常用符号 表示。 哈尔基函数定义为 2002年10月9日
52
哈尔基函数(续3) 哈尔基尺度函数 定义为 空间矢量V j定义为
哈尔基尺度函数 定义为 其中,j 为尺度因子,改变j 使函数图形缩小或者放大;i为平移参数,改变i使函数沿轴方向平移。 空间矢量V j定义为 其中,表示线性生成(linear span) 2002年10月9日
53
(2) 哈尔小波函数 小波函数通常用 表示。与框函数相对应的小波称为基本哈尔小波函数(Haar wavelet functions),并由下式定义, 哈尔小波尺度函数 定义为, 2002年10月9日
54
哈尔小波函数(续1) 用小波函数构成的矢量空间用W j表示为,
其中,SP表示线性生成;j为尺度因子,改变j 使函数图形缩小或者放大;i为平移参数,改变i 使函数沿轴方向平移 根据哈尔小波函数的定义,可以写出生成,W 0,W 1和W 2 等矢量空间的小波函数 2002年10月9日
55
哈尔小波函数(续2) 生成矢量空间W 2 的哈尔小波: 2002年10月9日
56
哈尔小波函数(续3) 生成矢量空间W 2 的哈尔小波 2002年10月9日
57
(3) 哈尔小波变换过程 (1) 用V2 中的哈尔基表示
图像=[ ]有2j =22=4个像素,因此可以用生成矢量空间中的框基函数的线性组合表示, 其中的系数 是4个正交的像素值[ ],因此, 2002年10月9日
58
哈尔小波变换过程(续1) 图I(x)用V2中的哈尔基表示 2002年10月9日
59
哈尔小波变换过程(续2) I(x)可表示成 用V 0, W 0和W1中的函数表示图像
2002年10月9日
60
哈尔小波变换过程(续3) 用图表示为 其中,4个系数 , , 和 就是原始图像通过哈尔小波变换所得到的系数,用来表示整幅图像的平均值和不同分辨率下的细节系数。4个函数 , , 和 就是构成空间V2的基。 2002年10月9日
61
5. 二维哈尔小波变换 一幅图像是一个二维的数据阵列,进行小波变换时可以对阵列的每一行进行变换,然后对行变换之后的阵列的每一列进行变换,最后对经过变换之后的图像数据阵列进行编码 1. 求均值与求差值 使用求均值和求差值的方法,对矩阵的每一行进行计算 3. 使用线性代数 由于图像可用矩阵表示,使用N个矩阵M1, M2,和MN 同样可以对图像矩阵进行求平均值和求差值。这N个矩阵分别是第一、第二和第N次分解图像时所构成的矩阵 2002年10月9日
62
二维哈尔小波变换(续1) 用小波对图像进行变换有两种方法,一种叫做标准分解(standard decomposition),另一种叫做非标准分解(nonstandard decomposition)。标准分解方法是指首先使用一维小波对图像每一行的像素值进行变换,产生每一行像素的平均值和细节系数,然后使用一维小波对这个经过行变换的图像的列进行变换,产生这个图像的平均值和细节系数。标准分解的过程如下, 2002年10月9日
63
二维哈尔小波变换(续2) procedure StandardDecomposition(C: array [ h, w] of reals) for row 1 to h do Decomposition(C [row, w]) end for for col 1 to w do Decomposition(C [ h, col]) End procedure 2002年10月9日
64
二维哈尔小波变换(续3) 标准分解方法,使用MATLAB编写的程序分解得到 2002年10月9日
65
二维哈尔小波变换(续4) 非标准分解是指使用一维小波交替地对每一行和每一列像素值进行变换。首先对图像的每一行计算像素对的均值和差值,然后对每一列计算像素对的均值和差值。这样得到的变换结果只有1/4的像素包含均值,再对这1/4的均值重复计算行和列的均值和差值,依此类推。非标准分解的过程如下: 2002年10月9日
66
二维哈尔小波变换(续5) procedure NonstandardDecomposition (C: arrayof reals)
(normalize input coefficients) while h > 1 do for row 1 to h do DecompositionStep(C [row, h]) end for for col 1 to h do DecompositionStep(C [ h, col]) end while end procedure 2002年10月9日
67
二维哈尔小波变换(续6) 非标准分解方法,使用MATLAB编写的程序分解得到 2002年10月9日
68
三、阅读和练习作业 Robi Polikar, The Engineer's Ultimate Guide to Wavelet Analysis: The Wavelet Tutorial: Scientific Computer Consulting, Information and Technology Services, University of Colorado at Boulder, Matlab tutorial, 2002年10月9日
69
End of Lecture 多媒体技术基础与应用 小波变换与应用 2002年10月9日
Similar presentations