張師語,劉章玉,石仁翠
(1.四川農(nóng)業(yè)大學(xué)理學(xué)院,雅安 625014;2.四川農(nóng)業(yè)大學(xué)信息工程學(xué)院,雅安 625014;3.四川農(nóng)業(yè)大學(xué)理學(xué)院,雅安 625014)
有“數(shù)學(xué)顯微鏡”之稱的小波變換是近年迅速發(fā)展的一種新的時(shí)頻分析方法,可以用來邊緣檢測和分割,還可以把短時(shí)的物理現(xiàn)象作為瞬態(tài)過程來進(jìn)行分析的分析方法是時(shí)頻分析;主要區(qū)分突變信號(hào)和穩(wěn)定信號(hào)還可以定量分析其能量的分析方法是頻域分析[1]。
在傳統(tǒng)的傅里葉分析中,可以發(fā)現(xiàn)信號(hào)完全是在頻域里展開的,沒有包含任何時(shí)域的信息。僅僅分析信號(hào)的時(shí)域或頻域性質(zhì)在很多情況下是遠(yuǎn)遠(yuǎn)不夠的,例如在電力監(jiān)測系統(tǒng)中對(duì)信號(hào)分析的要求,既要求監(jiān)控穩(wěn)定信號(hào)的成分,又要求故障信號(hào)的準(zhǔn)確定位[1]。后來人們在傳統(tǒng)傅里葉分析的基礎(chǔ)上引入了時(shí)域信息的最初嘗試,即短時(shí)傅里葉變換[1],但是其對(duì)信號(hào)進(jìn)行分析大多時(shí)候只能在一個(gè)分辨率上,對(duì)許多應(yīng)用場景來說并不夠準(zhǔn)確,存在較大的缺陷。
小波變換正是因?yàn)檫@種缺陷引入的,它克服了短時(shí)傅里葉變換只能單分辨率分析處理信號(hào)的缺點(diǎn),具有多分辨率分析信號(hào)的特點(diǎn)。小波變換不論在時(shí)域還是頻域里都能展現(xiàn)信號(hào)的局部信息,可以根據(jù)信號(hào)的具體形態(tài)來動(dòng)態(tài)調(diào)整其時(shí)間窗和頻率窗。通常情況下,在低頻部分,此時(shí)信號(hào)是較平穩(wěn)的狀態(tài),不需要太記錄信號(hào)隨時(shí)間的變化,因此通過降低時(shí)間分辨率來提高頻率分辨率;在高頻部分,頻率的變化情況不明顯,此時(shí)可以用較低的頻率分辨率來得到時(shí)間定位的精確度[1]。因?yàn)榭梢蕴綔y到正常信號(hào)中的瞬態(tài)部分,并且展示其頻率成分的特性,所以小波變換廣泛應(yīng)用于各個(gè)時(shí)頻分析領(lǐng)域[2-4]。
人們提出了窗函數(shù),因?yàn)閭鹘y(tǒng)傅里葉變換不能表達(dá)隨時(shí)間變化的頻率,這種函數(shù)被稱為“時(shí)間-頻率分析”[1]。時(shí)間-頻率窗是靈活可變的,這個(gè)“窗”不僅能夠體現(xiàn)頻率的細(xì)節(jié)信息,而且頻率隨時(shí)間的變化是由窗與窗之間反映的。綜上所述,短時(shí)傅里葉變換屬于一種時(shí)間-頻率分析方法,而且固定窗[1]。
把時(shí)域和頻域分解成多個(gè)大小相等的小窗口是窗口傅里葉變換的實(shí)現(xiàn)過程,其中對(duì)信號(hào)的任何部分采用的都是相同的時(shí)間和頻率分辨率。著名的測不準(zhǔn)原理[1]是無論采用任何函數(shù)作為窗函數(shù),其時(shí)間窗和頻率窗寬度的乘積最小值都是2。該定理說明,同時(shí)以任意精度在時(shí)間和頻率兩個(gè)空間去逼近被測信號(hào)這是不可能實(shí)現(xiàn)的,在信號(hào)的分析上一定要對(duì)時(shí)間或頻率的精度做權(quán)衡取舍。
針對(duì)上述情況,小波變換提供了可以根據(jù)需要來選擇時(shí)間或者頻率的精度的一種靈活性很高的方法??尚械氖牵业揭唤M在能量有限信號(hào)的函數(shù)空間上稠密的正交基函數(shù),并且這組函數(shù)可以單純地由一個(gè)函數(shù)的伸縮和平移生成[1]。在不同的分辨率下分解信號(hào)由伸縮實(shí)現(xiàn),可以把這組信號(hào)作為窗,來觀察關(guān)心的部分是平移的結(jié)果。另外,滿足上述要求的函數(shù)一定是具有緊支集性,可以在有限的區(qū)域內(nèi)迅速衰減到0,這樣的函數(shù)稱為母小波,它生成的一組正交基稱為小波函數(shù)[1]。
假設(shè)Ψ(t)?L2(R)滿足容許性條件:
即Ψ(t)稱作可允許小波或者基小波。并且是Ψ(t)的傅里葉變換。
那么由可允許小波生成的小波系數(shù)可表示為:
離散小波函數(shù)可表示為:
離散小波變換的系數(shù)可表示為:
類似傅里葉級(jí)數(shù),其重構(gòu)公式為:
由小波變換重構(gòu)原始信號(hào)的逆變換為:
從圖1中的(d)可以發(fā)現(xiàn)時(shí)間窗和頻率窗組合成的面積在小波變換中相同,隨著|a|的增大,頻率窗逐漸減小,時(shí)間窗逐漸增大,因此時(shí)間窗和頻率窗的比例可以自行調(diào)節(jié)的途徑是通過選取不同的a。不用像只能獲取固定時(shí)間窗內(nèi)的固定頻率段的短時(shí)傅里葉變換那樣,小波變換可以獲取任何時(shí)間內(nèi)任何感興趣的頻譜。
圖1 各種分析方法的時(shí)域與頻域分辨率
在小波域中要實(shí)現(xiàn)去噪,二維信號(hào)的基本思想與一維信號(hào)的情況類似。通常來說,在應(yīng)用中二維信號(hào)表現(xiàn)為圖像信號(hào)。去噪效果的重要影響因素是閾值選擇,在去噪過程中既可以使用統(tǒng)一固定的全局閾值,也可以從三個(gè)方向,水平、豎直和對(duì)角,分別作用閾值抑制其成分[1],這樣可以把所有方向的噪聲分離出來。
假設(shè)原始的圖像信號(hào)為Xj,k(j,k=1,2,…,N),在受到均值為0,噪聲強(qiáng)度為σ的高斯白噪聲τj,k污染后變?yōu)閅j,k,這一過程的基本模型如下:
與一維離散小波變換類似,二維小波變換的實(shí)現(xiàn)方法是,從原始信號(hào)S開始在每個(gè)層次只需要分解上一層次的近似系數(shù)。在對(duì)每個(gè)進(jìn)行分解的時(shí)候,需要從兩個(gè)維度分別作用兩次濾波器[1],分別是縱向和橫向,這是與一維離散小波變換不同的地方,如圖2。
小波閾值圖像去噪的基本步驟[5]為:
(1)分解過程:根據(jù)噪聲特點(diǎn)選擇合適的小波基和分解層數(shù),對(duì)含噪圖像作小波變換;
(2)作用閾值過程:尋找一個(gè)合適的數(shù)值作為閾值,并用該閾值對(duì)每一層的高頻系數(shù)進(jìn)行量化;
(3)重建過程:將處理后的小波系數(shù)通過小波逆變換,從而恢復(fù)原圖像。
以上去噪過程的依據(jù)是,表現(xiàn)為能量密集區(qū)域的是攜帶信息的原始信號(hào)[1],在頻域或小波域中能量相對(duì)集中,其信號(hào)分解系數(shù)的絕對(duì)值比較大;而對(duì)于能量譜相對(duì)分散的噪聲信號(hào),其系數(shù)的絕對(duì)值較小。概括來說,含噪圖像信號(hào)經(jīng)過小波變換后,信號(hào)的小波系數(shù)大于噪聲的小波系數(shù),因此通過作用閾值,保留絕對(duì)值大于選取閾值的小波系數(shù),過濾絕對(duì)值小于選取閾值的小波系數(shù),從而實(shí)現(xiàn)去噪。
圖2 二維小波變換的二層分解示意圖
傳統(tǒng)的閾值處理過程中,常采用的是Donoho提出的軟、硬閾值函數(shù)[6]。設(shè)Wj,k為原始的圖像小波系數(shù),λ為閾值,為閾值量化后的圖像小波系數(shù)。則硬閾值函數(shù)表達(dá)式為:
可以看出,硬閾值是間斷函數(shù),在處不連續(xù)。這導(dǎo)致在圖像信號(hào)的間斷點(diǎn)處容易產(chǎn)生比較大的震蕩,進(jìn)行小波重構(gòu)時(shí)容易出現(xiàn)偽吉布斯現(xiàn)象[7],使得重構(gòu)的圖像失真。
軟閾值函數(shù)表達(dá)式為:
之后大量研究學(xué)者根據(jù)上述軟、硬閾值的優(yōu)點(diǎn)與不足對(duì)閾值函數(shù)作出改進(jìn),如均方根閾值函數(shù),軟硬折中閾值函數(shù)[9]等。本文分別對(duì)上述具有代表性的兩種改進(jìn)閾值函數(shù)進(jìn)行改進(jìn),并與其進(jìn)行去噪效果對(duì)比分析。
均方根閾值函數(shù)表達(dá)式為:
該函數(shù)雖然使估計(jì)小波系數(shù)在| |Wj,k逐漸增大時(shí)更趨于原始小波系數(shù)Wj,k,但在| |Wj,k=λ處間斷。
引入調(diào)節(jié)參數(shù)μ對(duì)均方根閾值函數(shù)進(jìn)行改進(jìn),提出第一種改進(jìn)閾值函數(shù):
(1)第一種改進(jìn)閾值函數(shù)的漸近性分析
當(dāng)Wj,k→+∞時(shí),
當(dāng)Wj,k→-∞時(shí),
因此,當(dāng)Wj,k→∞時(shí),
(2)第一種改進(jìn)閾值函數(shù)的連續(xù)性分析
當(dāng)Wj,k→λ時(shí),
折中閾值函數(shù)表達(dá)式為:
雖然折中閾值函數(shù)減少了閾值處理后的小波系數(shù)與原始圖像的小波系數(shù)之間存在的恒定偏差,恒定偏差為eλ,e小于1。但仍會(huì)影響重構(gòu)原始輸入圖像信號(hào)的逼近程度且在| |Wj,k=λ處不連續(xù)。
引入調(diào)節(jié)參數(shù)a對(duì)折中閾值函數(shù)進(jìn)行改進(jìn),提出第二種改進(jìn)閾值函數(shù):
(1)第二種改進(jìn)閾值函數(shù)的漸近性分析
當(dāng)Wj,k→-∞時(shí),
因此,當(dāng)Wj,k→∞時(shí),
(2)第二種改進(jìn)閾值函數(shù)的連續(xù)性分析
當(dāng)Wj,k→λ時(shí),
當(dāng)Wj,k→-λ時(shí),
(3)可調(diào)因子m的影響分析
當(dāng)m=0時(shí),第二種改進(jìn)閾值函數(shù)變成軟閾值;當(dāng)m→+∞時(shí),第二種改進(jìn)閾值函數(shù)變成硬閾值。調(diào)節(jié)因子m使得第二種改進(jìn)閾值函數(shù)在軟、硬閾值函數(shù)之間變動(dòng),可以根據(jù)實(shí)際應(yīng)用進(jìn)行合理調(diào)節(jié),增大或者減小m的值,從而達(dá)到最佳的去噪效果。
在小波系數(shù)上作用閾值是小波變換去噪的核心步驟。因?yàn)槿ピ氲馁|(zhì)量直接決定于閾值的選取,如果閾值選取過小,閾值量化后的小波系數(shù)中會(huì)含有較多的噪聲分量,導(dǎo)致圖像去噪不充分;如果閾值選取過大,會(huì)丟失部分有用的圖像信息,導(dǎo)致重構(gòu)后的圖像失真[10]。
一般是根據(jù)原始輸入信號(hào)的信號(hào)噪聲比來取得對(duì)各層小波系數(shù)去噪的閾值,常見的小波閾值選取方法有缺省的閾值確定模型、基于Stein無偏似然估計(jì)的軟閾值估計(jì)、啟發(fā)式SURE閾值等?,F(xiàn)在有很多種提取噪聲強(qiáng)度σ的方法,假定噪聲為白噪聲,噪聲的數(shù)學(xué)期望為0,其噪聲強(qiáng)度一般是用原信號(hào)的小波分解的各層系數(shù)的標(biāo)準(zhǔn)差來衡量[1]。MATLAB提供wnoisest來實(shí)現(xiàn)這個(gè)功能。缺省的閾值確定模型如下:
噪聲的小波系數(shù)與分解尺度成反比,即分解尺度越大,分解的小波系數(shù)越小。對(duì)圖像進(jìn)行去噪處理時(shí),不同的分解尺度,閾值的選取應(yīng)有所不同,閾值的選取準(zhǔn)則應(yīng)是隨著分解尺度的增大而減小[11]。本文對(duì)現(xiàn)有閾值選取算法做適當(dāng)?shù)母倪M(jìn),其表達(dá)式為:
缺省閾值確定模型的閾值在不同尺度上是固定的,而在本文實(shí)驗(yàn)中取為可變的,可有效克服上述幾種閾值選取準(zhǔn)則的缺點(diǎn),且計(jì)算相對(duì)簡單,可以取得較好的去噪效果,實(shí)用性也強(qiáng)。
小波去噪中,MATLAB軟件提供了很多既可以通過某種通用的方式直接對(duì)信號(hào)去噪,也可以對(duì)其中的某個(gè)環(huán)節(jié)靈活控制的靈活使用方式。如wdencmp命令可以用于分層閾值去噪,與其他含噪圖像經(jīng)小波分解后的系數(shù)閾值量化不同的地方在于,傳入命令里的不是單一的閾值,而是一個(gè)數(shù)組,存放了各層閾值,并且不需要指定保留的層數(shù)[1]。
由于只關(guān)心系數(shù)的絕對(duì)值,并不關(guān)心系數(shù)的位置的閾值處理,所以二維小波變換系數(shù)的閾值化方法與一維情況類似。MATLAB提供了wthcoef2命令對(duì)二維小波變換閾值化,分別從水平、豎直、對(duì)角方向?qū)Σ煌瑢訑?shù)作用不同的閾值??梢?,分層閾值化同全局閾值化相比,因?yàn)榻Y(jié)合分解層數(shù)和分解方向的閾值化方法能夠在進(jìn)行閾值化處理時(shí)利用更精細(xì)的細(xì)節(jié)信息[1],所以在能量損失不是很大的情況下可以獲得更高的去噪比。
(1)根據(jù)噪聲特點(diǎn)選擇合適的分解層數(shù)和小波基;
(2)對(duì)帶噪圖像Yj,k進(jìn)行多層小波變換,結(jié)果得到一組含噪圖像的小波系數(shù)Wj,k;
(3)利用MATLAB提供了wnoisest來計(jì)算噪聲強(qiáng)度σ,再根據(jù)改進(jìn)閾值選取公式計(jì)算λj;
(4)對(duì)各層小波系數(shù)做閾值量化處理,具體操作是以λj為比較對(duì)象,保留絕對(duì)值大于λj的小波系數(shù),舍棄絕對(duì)值小于λj的小波系數(shù)且置為零,得到閾值處理后的小波系數(shù);
(5)根據(jù)處理后的小波系數(shù)進(jìn)行小波逆變換,即可得到去噪后的圖像。
本文使用MATLAB軟件編程實(shí)現(xiàn)所有程序,選定Lena圖像作為研究的原始圖像,加入均值為0,方差為0.01的高斯噪聲。
為對(duì)去噪后的圖像質(zhì)量進(jìn)行量化,評(píng)價(jià)常常有以下3種評(píng)定參數(shù):峰值信噪比PSNR、信噪比SNR、均方誤差MSE[12],它們的計(jì)算公式如下:
其中f(x,y)和是原來圖像數(shù)據(jù)和去噪后的圖像數(shù)據(jù)。M×N是圖像的大小。
假如去噪信號(hào)的信噪比SNR越高,原始信號(hào)與去噪信號(hào)的均方誤差MSE越小,則去噪信號(hào)就越接近于原始信號(hào),去噪效果越好[13]。
針對(duì)兩種改進(jìn)函數(shù)和分層閾值函數(shù),利用MAT?LAB中的wmaxlev2命令計(jì)算在已知信號(hào)長度的情況下,選用不同的小波基分解的最大層數(shù),分別以小波基類型和分解層數(shù)作為自變量探究每一種改進(jìn)函數(shù)所能實(shí)現(xiàn)的最好效果,如表 1、2、3。
表1 小波基對(duì)第一種改進(jìn)閾值去噪影響
表2 小波基對(duì)第二種改進(jìn)閾值去噪影響
表3 小波基對(duì)分層閾值去噪影響
通過表中數(shù)據(jù)對(duì)比發(fā)現(xiàn)且參考圖像紋理識(shí)別中最優(yōu)小波基的選擇[14-15],選用coif5作為小波基且分解層數(shù)為4層,三種改進(jìn)函數(shù)都能達(dá)到最優(yōu)的效果,故選定其來對(duì)圖像進(jìn)行分解與重構(gòu)。
使用效果最優(yōu)傳統(tǒng)閾值函數(shù)去噪后的結(jié)果圖與使用第一種改進(jìn)閾值函數(shù)、第二種改進(jìn)閾值函數(shù)、分層閾值函數(shù)去噪后的結(jié)果圖對(duì)比,如圖3、4、5。
圖3 含噪Lena圖像第一種改進(jìn)閾值去噪效果對(duì)比
圖4 含噪Lena圖像第二種改進(jìn)閾值去噪效果對(duì)比
圖5 含噪Lena圖像分層閾值去噪效果對(duì)比
表4 含噪Lena圖像去噪效果評(píng)定指標(biāo)
由表4可知,相比效果最優(yōu)傳統(tǒng)閾值所得結(jié)果,三種改進(jìn)方法均能使去噪后的圖像更清晰,邊界更清楚。
本文在傳統(tǒng)軟硬閾值基礎(chǔ)上提出了兩個(gè)方向的改進(jìn)措施:改進(jìn)閾值函數(shù)、分層設(shè)置閾值,形成了三種改進(jìn)方法。在原始圖像中加入高斯噪聲,通過分別改變小波基類型和分解層數(shù)來探究每一種改進(jìn)函數(shù)所能實(shí)現(xiàn)的最好效果,以期去噪效果更好、邊緣信息保留度更高。通過比較去噪效果圖和評(píng)價(jià)參數(shù)PSNR、SNR、MSE和改變比例的數(shù)值,發(fā)現(xiàn)三種改進(jìn)方法都比傳統(tǒng)閾值去噪效果更優(yōu),并都更好地保留圖像邊緣細(xì)節(jié)信息,使圖像更接近原始圖像,驗(yàn)證了本文所提方法的正確性和有效性。