1、小波分析及其应用 (孙延奎,2005)第 5 章可分离二维小波变换算法实现的问题与讨论孙延奎摘要:总结分析可分离二维小波变换算法实现的细节,澄清一些概念与问题,纠正例 5-2中“转置”的错误,回答读者的问题。教材中三个方向小波的定义:123(,)(),xyy(5.5) ,1,2,3, , , , ,(,)j j jjkmkmkmgxyddd经简单计算可得, 1, 1,22,33,jkmjkmjjjkjkjmjmcfdf我们称序列 为 的(一级)二维小波变换。下面讨论二维小波变换,1,2,3jjjcd1jc的快速算法。设一维多分辨分析 的两尺度方程和小波方程为:jV2kkthtg其中, 为实滤波
2、器, 。则类似一维正交多分辨分析的推导,由kh1kkgh1,1,2,31, , , , , , ,(,)j j j jj mkmkmkmkfxycddd*, ,*1*1*1*1*1,*2()(2), 2(2),()()l njkmjkmjkmRjjRj j jj j jlnRlncffxydxyxyfhlhymndxyhfxykx 21*1*12, ,2, , ,lkj j jklmnnmlklmnllnchchc *,11 1, ,*1 *1*1*1*1,*()(),222(2),()()jkmjk jkRjRj j jl nj j jlnRldffxydxyxyfhlgymndxyhgfx
3、ykx 1*1*12, 2,2, , ,j j jnklmnlknmlklmnllnchgchgc得二维 Mallat 算法如下(假设 是实滤波器):(5.6)11, 2,2, ,1 112,2, ,2 112,2, ,3 1 12,2, ,j j jkmlknmlklmnllnlnj j jklknlklnllnlnj j jkmlknmlklmnllnlnj j jklknlklnll lnchchcdgghchcdggn重构算法:(5.7)1 ,1,2,3,2,222, , , ,j j j j jkmklmnlklmnlklmnlklmnllnl lnlnchchgdghdgd评注:1
4、) 在关履泰 编著“小波方法与应用”中,空间分解表示与我教材中是一致的,但二维可分离小波 与 的意思正好与我的相反。其 与 对应我教材中的 和 。12 jj,2jd,1j经理论分析及试验验证,Matlab 中的用法与关履泰书中的一致。2) 在 Mallat 编著“信号处理的小波导引”中,空间分解表示及二维可分离小波 ,1, , , 等都与教材中的一致。只是最后对变换的结果的表示略有不同:2,1jd,2j教材中采用的方法是:,1,23jjc而 Mallat 著作中,最后的表示为,2,13jjcd如对下面一幅图像,图 1教材中的表示如下右图所示,其中左上角表示低频系数,左下表示垂直边缘;右上角表示
5、水平边缘;右下角表示对角边缘。图 2而在 Mallat 的著作“信号处理的小波导引”中(图 726)中,各个分辨率下的图像中水平边缘与竖直边缘的位置正好相反。其中,左上角表示低频系数,左下表示水平细节系数(水平边缘) ;右上角表示垂直细节系数;右下角表示对角细节系数。可分离双正交基:可将一维双正交小波基推广到 的可分离正交小波基。令 和 是生成2()LR,的双正交小波基的两对对偶的尺度函数与小波。则2()LR123,()(,xyy所定义的 , , 的对偶小波是:12323(,)(),xyy可以证明:和 是 的双正交 Riesz 基。312,jnjjnZ312,jnjjnZ2()LR二维可分离小
6、波的频率特性分析:二维可分离小波 , , 在不同的尺度和方向上提取图像细节。即用 和 计算出123 12的小波系数分别在水平和垂直边缘上取得大的值。分别提取图像的水平与垂直特征。小波在角点上产生大的系数,提取对角边缘。具体的,3: 垂直高频,提取水平边缘1: 水平高频,提取垂直边缘2在正频率上, 和 的能量分别集中在 和 上。由可分离小波 , ,0,212的表达式可推出:31 2 3 , , ,xyxyxyxyxyxy因此,在低的水平频率 处和高的垂直频率 处 大;在高的水平频率 处y1x x和低的垂直频率 处 大;而在高的水平频率 和垂直频率 处y2,xy y大。可显示出正交小波对应的可分离
7、小波的傅立叶变换图。3,xy在王大凯,彭进业编著的“小波分析及其在信号处理中的应用” 中,塔式分解写法中低频子带与三个高频子带的位置正好反映它们对频域的内在划分,注意,该书中 , ,12的定义与教材相同。3即2jc,2jd13 ,1j,3j若用 L 表示低通滤波器,用 H 表示高通滤波器,则滤波器 LL,LH,HL 和 HH 构成 4 个具有不同频率特性和方向特性的滤波器。 LL 用于检索图像中的低频分量, LH 用于检测水平方向的边缘、细节分量,HL 用于检测垂直方向的边缘、细节分量,HH 用于检测主对角与副对角方向的分量。 【这里的 LH,意思是先用 L 做行变换,再 H 做列变换。与教材
8、中的意思相反。 】可见,采用以下表示,2,13jjcd能够与它们对频域的划分一致。其它著作中有关问题的描述:1. 在杨福生著的“小波变换的工程分析与应用”中( P117) ,三个小波 , , 与123本教材的是一致的。它指出:三个小波 , , 中都至少包含一个带通的 或123 x,因此,它们都是带通的,也就是说,这三部分反映的都是高通细节。y指出,对 ,先沿 方向分别用 和 作分析,把 分成平滑逼近和,fxyxx,fxy细节这两部分,然后对这两部分再分别用 和 作类似分析。得到一个平滑逼近与y三个细节函数。注意:该著作中(5.13a), (5.13b)的写法不够严谨。其中, 的含义同本教材中的
9、 。123,jjjjAfD,1,2,3jjjcd图 5.4 中的 b,c,d 是否与 相对应,没有指出。是对应的。123,jjjD图 5.6 中 的位置搞错了。12,jj2) 李弼程等编著的“小波分析及其应用 ”,在 P40 页指出:一幅图像可分解为一个低频子图 和水平、垂直与对角线 3 个方向的高频子图 。但没有对“水平、垂直与jc ,1,2,3jjjd对角线”做进一步的解释。以下通过例子分析可分离二维小波变换的计算过程,主要用于理解概念。第一种方法,很直观,将可分离二维小波变换看成是:先对各行进行小波变换,然后对各列进行小波变换。反之也可以。一个 2x2 图象的二维 Haar 小波变换。这
10、里采用非标准的 Haar 小波滤波器 EMB EMBED Visio.Drawing.11 1620行小波变换 9710列小波变换0,1,239.53.0cd如果按照 Mallat 书中的写法,也可以交换 与 的位置,将变换结果写成0,1d,20,139.5.3c先列变换,再行变换,结果相同:1620列小波变换 1364行小波变换 0,1,239.53.0cd例 5.1 一个 4x4 图像的二维 Haar 小波变换。先行变换,后列变换:这种结果对应下述表示(不够严谨):0,1,23,cd如果按照 Mallat 书中的写法,也可以交换 , 及 , 的位置,将变换结果写成0,1d,21,2d4.3
11、125.6.50.01.7 同理可以验证,先列后行结果相同。第二种方法: 利用(56)进行验证:(56)1,2,1,212,3,j jkmlknmlj jllj jkmlknmlj jllchcdgc改写(5-6)中第一个公式:112,22, 2,112 2,2,11, ,j jlknmlnmlknjklnlj jmmnkknj jjkkhchchchcD工程解释:对任一固定的列数n,先用 与 的每个列向量做卷积,进行向下二抽样得h1jc到 ;然后,用 与 的每个行向量做卷积,进行向下二抽样得到 。1jch1jc jc类似的,1) 对任一固定的列数n ,先用 与 的每个列向量做卷积,进行向下二
12、抽样得到h1jc;然后,用 与 的每个行向量做卷积,进行向下二抽样得到 。jcg1j ,1jd2) 对任一固定的列数n ,先用 与 的每个列向量做卷积,进行向下二抽样得到1jc;然后,用 与 的每个行向量做卷积,进行向下二抽样得到 。1jch1j ,2j3) 对任一固定的列数n ,先用 与 的每个列向量做卷积,进行向下二抽样得到g1jc;然后,用 与 的每个行向量做卷积,进行向下二抽样得到 。1jc1j ,3jd现在以例5.2为例进行说明: 11,22hg234586719c则对应于 的计算过程为:1c2345867129c0.51.2236.8.55412.5368.251.253.376.
13、2与每列卷积每列向下二抽样与每行卷积每行向下二抽样 134.567chh对应于 的计算过程为:1,d2134586729c0.51.2236.8.55412.5368.251.250.2.37 与每列卷积 每列向下二抽样与每行卷积每行向下二抽样 1,0.5.12dhg对应于 的计算过程为:1,2d234586719c0.51.23.05241.502.50.751.1250.与每列卷积每列向下二抽样与每行卷积每行向下二抽样 1,2.05dgh与直接先行后列或先列后行的结果都相同,结果均为1,23cd流程图可写成: 1jcjd列卷积 1jc行卷积一维列变换一维行变换行抽样:保留偶数行 列抽样:保
14、留偶数列图 3另一种解释方法: 112,22, 12, 12,211,2, , j jlknmllknmljklnll j jkl klmlml lj jjkkhchchchcD工程解释:对任一固定的行数l,先用 与 的每个行向量做卷积,进行向下二抽样得h1jc到 ;然后,用 与 的每个列向量做卷积,进行向下二抽样得到 。1jch1jc jc类似的,1) 对任一固定的行数l,先用 与 的每个行向量做卷积,进行向下二抽样得到 ;1j 1j然后,用 与 的每个列向量做卷积,进行向下二抽样得到 。g1jc ,2jd2) 对任一固定的行数l,先用 与 的每个行向量做卷积,进行向下二抽样得到 ;g1jc 1jc然后,用 与 的每个列向量做卷积,进行向下二抽样得到 。h1jc ,1j3) 对任一固定的行数l,先用 与 的每个行向量做卷积,进行向下二抽样得到 ;1jc 1jc然后,用 与 的每个列向量做卷积,进行向下二抽样得到 。g1jc ,3jd例子: