小波變換和motion信號(hào)處理(二)
這是《小波變換和motion信號(hào)處理》系列的第二篇,深入小波。第一篇我進(jìn)行了基礎(chǔ)知識(shí)的鋪墊,第三篇主要講解應(yīng)用。
在上一篇中講到,每個(gè)小波變換都會(huì)有一個(gè)mother wavelet,我們稱之為母小波,同時(shí)還有一個(gè)father wavelet,就是scaling function。而該小波的basis函數(shù)其實(shí)就是對(duì)這個(gè)母小波和父小波縮放和平移形成的??s放倍數(shù)都是2的級(jí)數(shù),平移的大小和當(dāng)前其縮放的程度有關(guān)。
還講到,小波系統(tǒng)有很多種,不同的母小波,衍生的小波基就完全不同。小波展開(kāi)的近似形式是這樣:
其中的
就是小波級(jí)數(shù),這些級(jí)數(shù)的組合就形成了小波變換中的基basis。和傅立葉級(jí)數(shù)有一點(diǎn)不同的是,小波級(jí)數(shù)通常是orthonormal basis,也就是說(shuō),它們不僅兩兩正交,還歸一化了。
我們還講了一般小波變換的三個(gè)特點(diǎn),就是小波級(jí)數(shù)是二維的,能定位時(shí)域和頻域,計(jì)算很快。但我們并沒(méi)有深入講解,比如,如何理解這個(gè)二維?它是如何同時(shí)定位頻域和時(shí)域的?
在這一篇文章里,我們就來(lái)討論一下這些特性背后的原理。
首先,我們一直都在講小波展開(kāi)的近似形式。那什么是完整形式呢?之前講到,小波basis的形成,是基于基本的小波函數(shù),也就是母小波來(lái)做縮放和平移的。但是,母小波并非唯一的原始基。在構(gòu)建小波基函數(shù)集合的時(shí)候,通常還要用到一個(gè)函數(shù)叫尺度函數(shù),scaling function,人們通常都稱其為父小波。它和母小波一樣,也是歸一化了,而且它還需要滿足一個(gè)性質(zhì),就是它和對(duì)自己本身周期平移的函數(shù)兩兩正交:
另外,為了方便處理,父小波和母小波也需要是正交的??梢哉f(shuō),完整的小波展開(kāi)就是由母小波和父小波共同定義的。
其中
是母小波,
是父小波。需要提醒一點(diǎn)的是,這個(gè)正交純粹是為了小波分析的方便而引入的特性,并不是說(shuō)小波變換的基就一定必須是正交的。但大部分小波變換的基確實(shí)是正交的,所以本文就直接默認(rèn)正交為小波變換的主要性質(zhì)之一了。引入這個(gè)父小波呢,主要是為了方便做多解析度分析(multiresolution analysis, MRA)。說(shuō)到這里,你的問(wèn)題可能會(huì)井噴了:好好的為什么出來(lái)一個(gè)父小波呢?這個(gè)scaling function是拿來(lái)干嘛的?它背后的物理意義是什么?wavelet function背后的物理意義又是什么?這個(gè)多解析度分析又是什么呢?不急,下面,我們圍繞一個(gè)例子來(lái)鞏固一下前面的知識(shí),同時(shí)再引出新的特性。
假設(shè)我們有這樣一個(gè)信號(hào):
該信號(hào)長(zhǎng)度為8,是離散的一維信號(hào)。我們要考慮的,就是如何用小波將其展開(kāi)。為了方便講解,我們考慮最簡(jiǎn)單的一種小波,哈爾小波。下面是它的一種母小波:
那如何構(gòu)建基于這個(gè)母小波的基呢?剛才提到了,要縮放,要平移。我們先試試縮放,那就是ψ(2n):
但這樣的話,它與自己的內(nèi)積就不是1了,不符合小波基orthonormal的要求,所以我們要在前面加一個(gè)系數(shù)根號(hào)二,這樣我們就得到了另一個(gè)哈爾小波的basis function:
同理,我們可以一直這樣推廣下去做scale,得到4n,8n,…….下的basis function。當(dāng)然在這個(gè)例子里,我們信號(hào)長(zhǎng)度就是8,所以做到4n就夠了。但推廣來(lái)說(shuō),就是這種scaling對(duì)母小波的作用為
,這是歸一化后的表示形式。
平移的話也很簡(jiǎn)單,我們可以對(duì)母小波進(jìn)行平移,也可以對(duì)scale之后的basis function進(jìn)行平移。比如對(duì)上一幅圖中的basis function進(jìn)行平移,就成了
看得出來(lái),平移后的basis function和母小波以及僅僅scale過(guò)的小波,都是正交的,附合小波basis的特點(diǎn)。如果我們用ψ(n)來(lái)表示這個(gè)mother wavelet,那么這些orthonormal basis函數(shù)可以寫成:
這里的k是可以看成時(shí)域的參數(shù),因?yàn)樗刂浦〔ɑ鶗r(shí)域的轉(zhuǎn)移,而j是頻域的參數(shù),因?yàn)樗鼪Q定了小波基的頻率特性??吹竭@里,你應(yīng)該會(huì)感覺(jué)很熟悉,因?yàn)檫@里的平移和變換本質(zhì)和剛才對(duì)scaling function的平移變換是一模一樣的。
這樣,我們就有了針對(duì)此信號(hào)space的哈爾小波basis組合:
圖1
可以看出,我們用到了三層頻率尺度的小波函數(shù),每往下一層,小波的數(shù)量都是上面一層的兩倍。在圖中,每一個(gè)小波基函數(shù)的表達(dá)形式都寫在了波形的下面。
等等,你可能已經(jīng)發(fā)現(xiàn)了,有問(wèn)題。這里為什么多了個(gè)沒(méi)有函數(shù)表達(dá)式的波形呢?這貨明顯不是wavelet function阿。沒(méi)錯(cuò),它是之前提到的scaling function,也就是父小波。然后你可能就會(huì)問(wèn),為啥這個(gè)憑空插了一個(gè)scaling function出來(lái)呢?明明目標(biāo)信號(hào)已經(jīng)可以用純的小波基組合表示了。是,確實(shí)是,就算不包括scaling function,這些小波函數(shù)本身也組成了正交歸一基,但如果僅限于此的話,小波變換也就沒(méi)那么神奇的功效了。引入這個(gè)scaling function,才能引入我們提到的多解析度分析的理論,而小波變換的強(qiáng)大,就體現(xiàn)在這個(gè)多解析度上。那在這里,我們?cè)趺从眠@個(gè)多解析度呢?這個(gè)哈爾小波basis組合是怎么通過(guò)多解析度推導(dǎo)出來(lái)的呢?
話說(shuō)在數(shù)學(xué)定義中,有一種空間叫Lebesgue空間,對(duì)于信號(hào)處理非常重要,可以用L^p(R)表示,指的是由p次可積函數(shù)所組成的函數(shù)空間。我們?cè)谛〔ㄗ儞Q中要研究的信號(hào)都是屬于L^2(R)空間的,這個(gè)空間是R上的所有處處平方可積的可測(cè)函數(shù)的集合,這樣就等于對(duì)信號(hào)提出了一個(gè)限制,就是信號(hào)能量必須是有限的,否則它就不可積了。小波變換的定義都是基于但不限于L^2(R)中的信號(hào)的。這玩意的特性要具體解釋起來(lái)太數(shù)學(xué)了,牽涉到太多泛函知識(shí),我就不在這里詳述了。而且老實(shí)說(shuō)我也沒(méi)能力完全講清楚,畢竟不是學(xué)這個(gè)的,有興趣可以參考wiki??傊阌涀?,小波變換研究中所使用的信號(hào)基本都是平方可積的信號(hào),但其應(yīng)用不限于這種信號(hào),就行了。
對(duì)L^2(R)空間做MRA是在干嘛呢?就是說(shuō),在L^2(R)空間中,我們可以找出一個(gè)嵌套的空間序列
,并有下列性質(zhì):
(i)
(ii)
(iii)
(iv)
(v) 有這樣一個(gè)方程
,
是
的orthonormal basis。
我來(lái)簡(jiǎn)單解釋一下這些性質(zhì)。這個(gè)V_j都是L^2(R)空間中的子空間,然后他們是由小到大的,交集是{0},因?yàn)檫@是最小的子空間,并集就是L空間。是不是有點(diǎn)難以理解?沒(méi)關(guān)系,看看下面這個(gè)圖就清楚了:
這個(gè)圖是圈圈套圈圈,最里面的圈是V0,之后分別是V1,V2,V3,V4 。那他們有趣的性質(zhì)就是,假如有一個(gè)函數(shù)f(t)他屬于一個(gè)某空間,那你將其在時(shí)域上平移,它還是屬于這個(gè)空間。但如果你對(duì)它頻域的放大或縮小,它就會(huì)相應(yīng)移到下一個(gè)或者上一個(gè)空間了。
同時(shí)我們還知道,你要形容每一個(gè)空間的話,都需要有對(duì)應(yīng)的orthonormal basis,這是必然的,那對(duì)于V0來(lái)講,它的orthonormal basis就是
這一系列函數(shù)是什么呢?是
的時(shí)域變換,而且我們剛才也說(shuō)了,時(shí)域上平移,是不會(huì)跳出這個(gè)空間的。這樣,我們就可以說(shuō),由這一系列basis所定義的L^2(R)子空間V0被這些basis所span,表示成:
k從負(fù)無(wú)窮到正無(wú)窮。上面的bar表示這是一個(gè)閉包空間,也就是說(shuō)
這樣,我們就定義了基本的V0這個(gè)子空間。剛才說(shuō)了,這個(gè)子空間的基都是對(duì)
的整數(shù)時(shí)域變換,這里我們稱
為scaling function,所以換個(gè)說(shuō)法,就是說(shuō)這里整個(gè)子空間V0,由scaling function和其時(shí)域變換的兄弟們span。[!--empirenews.page--]
當(dāng)然,如果這個(gè)scaling function只是用來(lái)代表一個(gè)子空間的,那它的地位也就不會(huì)這么重要了。剛才我們提到,這個(gè)嵌套空間序列有一個(gè)性質(zhì),
。這就是這個(gè)函數(shù),如果你對(duì)它頻域的放大或縮小,它就會(huì)相應(yīng)移到下一個(gè)或者上一個(gè)空間了。這個(gè)性質(zhì)就有意思了,它代表什么呢?對(duì)于任何一個(gè)包含V0的更上一層的空間來(lái)講,他們的基都可以通過(guò)對(duì)scaling function做頻域的scale后再做時(shí)域上的整數(shù)變換得到!推廣開(kāi)來(lái)就是說(shuō),當(dāng)
我們有
這也就意味著,對(duì)于任何屬于V_j空間的函數(shù)f(t),都可以表示為:
到這里,我們就明白這些個(gè)子空間和那個(gè)憑空冒出來(lái)的scaling function的作用了。scaling的構(gòu)建這些不同的子空間的基礎(chǔ),當(dāng)j越大的時(shí)候,每一次你對(duì)頻率變換后的scaling function所做的時(shí)域上的整數(shù)平移幅度會(huì)越小,這樣在這個(gè)j子空間里面得到的f(t)表示粒度會(huì)很細(xì),細(xì)節(jié)展現(xiàn)很多。反之亦然。通俗點(diǎn)說(shuō),就是對(duì)scaling function的變換平移給你不同的子空間,而不同的子空間給你不同的分辨率,這樣你就可以用不同的分辨率去看目標(biāo)信號(hào)。
下面就是時(shí)候看看什么是MRA equation了,這是更加有趣,也是更加核心的地方。通過(guò)剛才的講解,V0屬于V1,那scaling function
是在V0中的,自然也在V1中了。我們把他寫成V1的基的線性組合,那就是
其中的h(n)是scaling function的系數(shù),也叫做scaling filter或者scaling vector,可以是實(shí)數(shù),也可以是虛數(shù)。根號(hào)2是為了維持norm為1的???,在這個(gè)公式里,我們就把屬于V0的函數(shù)用V1的基表示出來(lái)了。同理,我們可以循環(huán)如此,把屬于V0的
在V2, V3, …, Vn中表示出來(lái)。這些方程就是MRA equation,也叫refinement equation,它是scaling function理論的基礎(chǔ),也是小波分析的基礎(chǔ)之一。
好,稍微總結(jié)一下。到現(xiàn)在,已經(jīng)講了關(guān)于scaling function的基本理論知識(shí),知道了信號(hào)空間可以分為不同精細(xì)度的子空間,這些子空間的basis集合就是scaling function或者頻率變換之后的scaling function,如下圖所示:
上圖就是四個(gè)子空間的basis集合的展覽。通過(guò)前面的討論,我們還知道,一開(kāi)始的scaling function可以通過(guò)更精細(xì)的子空間的scaling function(它們都是對(duì)應(yīng)子空間的basis)來(lái)構(gòu)建。比如
對(duì)于更加finer的scale:
圖2
依此類推。實(shí)際上,對(duì)于任何scale和translate過(guò)的scaling function,都可以用更加精細(xì)的scale層面上的scaling function構(gòu)建出來(lái)。
然后,我們有各種scale下的scaling function了,該看看它們分別所對(duì)應(yīng)的嵌套的空間序列
了。先看看V0,自然就是以基本的scaling function為基礎(chǔ)去span出來(lái)的:
這個(gè)不新鮮,剛才就講過(guò)了。這個(gè)子空間代表什么樣的信號(hào)?常量信號(hào)。道理很簡(jiǎn)單,這個(gè)scaling function在整個(gè)信號(hào)長(zhǎng)度上,沒(méi)有任何變化。繼續(xù)往下看:
這個(gè)相比V0更加finer的子空間,代表著這樣一種信號(hào),它從1-4是常量,從5-8是另一個(gè)常量。同理我們有:
V2代表的信號(hào),是分別在1,2; 3,4; 5,6; 7,8上有相同值的信號(hào)。那么V3呢?則表示任何信號(hào),因?yàn)閷?duì)于V3來(lái)講,任何一個(gè)時(shí)間刻度上的值都可以不一樣。而且現(xiàn)在,我們也可以通過(guò)上面的一些scaling functions的波形驗(yàn)證了之前提到的多解析度分析中的一個(gè)核心性質(zhì),那就是:
我們之前講了一堆多解析度的理論,但直到現(xiàn)在,通過(guò)這些圖形化的分析,我們可能才會(huì)真正理解它。那好,既然我們有一個(gè)現(xiàn)成的信號(hào),那就來(lái)看看,對(duì)這個(gè)信號(hào)作多解析度分析是啥樣子的:
你看,在不同的子空間,對(duì)于同一個(gè)信號(hào)就有不同的詮釋。詮釋最好的當(dāng)然是V3,完全不損失細(xì)節(jié)。這就是多解析度的意義。我們可以有嵌套的,由scaling function演變的basis function集合,每一個(gè)集合都提供對(duì)原始信號(hào)的某種近似,解析度越高,近似越精確。[!--empirenews.page--]
說(shuō)到這里,可能你對(duì)scaling function以及多解析度分析已經(jīng)比較理解了。但是,我們還沒(méi)有涉及到它們?cè)谛〔ㄗ儞Q中的具體應(yīng)用,也就是還沒(méi)有回答剛才那個(gè)問(wèn)題:憑空插了一個(gè)scaling function到小波basis組合中干嘛。也就是說(shuō),我們希望理解scaling function是怎么和小波函數(shù)結(jié)合的呢,多解析度能給小波變換帶來(lái)什么樣的好處呢。這其實(shí)就是是小波變換中的核心知識(shí)。理解了這個(gè),后面的小波變換就是純數(shù)學(xué)計(jì)算了。
好,我們已經(jīng)知道,對(duì)于子空間V0,basis是scaling function:
對(duì)應(yīng)的小波函數(shù)是:
然后子空間V1的basis集合是這倆哥們:
看出什么規(guī)律了么?多看幾次這三個(gè)圖,你會(huì)驚訝地發(fā)現(xiàn),在V0中的scaling function和wavelet function的組合,其實(shí)就是V1中的basis!繼續(xù)這樣推導(dǎo),V1本來(lái)的的basis是:
然后V1中對(duì)應(yīng)的wavelet function是
他們的組合,本質(zhì)上也就是V2的basis(參考圖2)。你繼續(xù)推導(dǎo)下去,會(huì)得到同樣的結(jié)論:在scale j的wavelet function,可以被用來(lái)將Vj的basis擴(kuò)展到V(j+1)中去!這是一個(gè)非常非常關(guān)鍵的性質(zhì),因?yàn)檫@代表著,對(duì)任何一個(gè)子空間Vj,我們現(xiàn)在有兩種方法去得到它的orthonormal basis:
1. 一種就是它本來(lái)的basis
,對(duì)任意k。
2. 第二種就是它上一個(gè)子空間的basis
,對(duì)任意k,以及上一級(jí)子空間的wavelet function
,對(duì)任意k。
第二種選擇能給我們帶來(lái)額外的好處,那就是我們可以循環(huán)不斷地用上一級(jí)子空間的scaling function以及wavelet function的組合來(lái)作為當(dāng)前子空間的基。換句話說(shuō),如果針對(duì)V3這個(gè)子空間,它實(shí)際上就有四種不同的,但是等價(jià)的orthonormal basis:
1. 本級(jí)(V3)的scaling function basis set
2. 上一級(jí)(V2)的scaling function + wavelet function;
3 . 上上一級(jí)(V1)的scaling function + 上上一級(jí)(V1)的wavelet function + 上一級(jí)(V2)的wavelet function;
4. 上上上一級(jí)(V0)的scaling function + 上上上一級(jí)(V0)的wavelet function + 上上一級(jí)(V1)的wavelet function + 上一級(jí)(V2)的wavelet function
好,看看最后一種選取方式,有沒(méi)有感到眼熟?對(duì)了,它就是我們之前提到的“針對(duì)此信號(hào)space的哈爾小波basis組合”,參見(jiàn)圖1?,F(xiàn)在我們知道了,這個(gè)scaling function不是憑空插進(jìn)去的,而是通過(guò)不斷的嵌套迭代出來(lái)的:)
那為什么我們最后選定的是這種選取方式呢?實(shí)際上,剛才介紹的這個(gè)性質(zhì)已經(jīng)告訴我們,對(duì)于任何的scale j0,我們都可以給我們的signal space找到一組orthonormal basis,這個(gè)basis是通過(guò)組合scale j0上的scaling function以及所有在scale j,j>j0上的wavelets得到的。這樣,基于這個(gè)orthonormal basis,所有信號(hào)空間中的信號(hào)都可以寫成組成這個(gè)basis的functions的線性組合:
對(duì)應(yīng)的系數(shù)的計(jì)算和平常一樣:
這,就是最終的,也是最核心的,小波變換形式。不管是信號(hào)壓縮,濾波,還是別的方式處理,只要是用小波變換,都逃不出這個(gè)基礎(chǔ)流程:
1. 選取合適的wavelet function和scaling function,從已有的信號(hào)中,反算出系數(shù)c和d。
2. 對(duì)系數(shù)做對(duì)應(yīng)處理
3. 從處理后的系數(shù)中重新構(gòu)建信號(hào)。
這里的系數(shù)處理是區(qū)別你的應(yīng)用的重點(diǎn)。比如圖像或者視頻壓縮,就希望選取能將能量聚集到很小一部分系數(shù)中的小波,然后拋棄那些能量很小的小波系數(shù),只保留少數(shù)的這些大頭系數(shù),再反變換回去。這樣的話,圖像信號(hào)的能量并沒(méi)有怎么丟失,圖像體積卻大大減小了。
還有一個(gè)沒(méi)有解釋的問(wèn)題是,為什么要強(qiáng)調(diào)尺度函數(shù)和小波函數(shù)組成一個(gè)orthonormal basis呢?計(jì)算方便是一方面,還有一個(gè)原因是,如果他們滿足這個(gè)性質(zhì),就滿足瑞利能量定理,也就是說(shuō),信號(hào)的能量,可以完全用每個(gè)頻域里面的展開(kāi)部分的能量,也就是他們的展開(kāi)系數(shù)表示:
到這里,我們對(duì)小波變換的形式就講完了。雖然是用的最簡(jiǎn)單的哈爾小波為例子,但舉一反三即可。我們著重介紹了多解析度分析以及它給小波變換帶來(lái)的殺手锏:時(shí)域頻域同時(shí)定位。結(jié)束之前,再多說(shuō)幾句小波變換的意義。我們拿剛才例子中V3子空間的第二種可選擇的orthonormal basis作為例子:
左邊這四個(gè)basis組成元素,也就是scaling functions,的系數(shù),表征的是信號(hào)的local平均(想想它們和信號(hào)的內(nèi)積形式),而右邊的這四個(gè)basis組成元素,也就是wavelet functions,的系數(shù)則表征了在local平均中丟失的信號(hào)細(xì)節(jié)。得益于此,多解析度分析能夠?qū)π盘?hào)在越來(lái)越寬的區(qū)域上取平均,等同于做低通濾波,而且,它還能保留因?yàn)槠骄鴵p失的信號(hào)細(xì)節(jié),等同于做高通濾波!這樣,我們終于可以解釋了wavelet function和scaling function背后的物理意義了:wavelet function等同于對(duì)信號(hào)做高通濾波保留變化細(xì)節(jié),而scaling function等同于對(duì)信號(hào)做低通濾波保留平滑的shape!
對(duì)小波變換的基礎(chǔ)知識(shí),我們就講到這里。需要注意的是,這只是小波變換最基本最基本的知識(shí),但也是最核心的知識(shí)。掌握了這些,代表你對(duì)小波變換的物理意義有了一定的了解。但對(duì)于小波變換本身的講解,一本書都不一定能將講透,還有很多的基礎(chǔ)知識(shí)我都沒(méi)有講,比如如何構(gòu)建自己的scaling function,選取合適的系數(shù)集h[k],并由此構(gòu)建自己的wavelet functions。所以,如果有深入下去研究的同學(xué),好好買一本書來(lái)看吧。而只是希望用小波變換來(lái)服務(wù)自己的應(yīng)用的同學(xué),個(gè)人覺(jué)得這些知識(shí)已經(jīng)足夠讓你用來(lái)起步了。