O 引言
盲 信號處理(BSP)是目前信號處理中最熱門(mén)的學(xué)科之一,它具有可靠的理論基礎和許多方面的應用潛力。事實(shí)上,BSP已成為重要的研究課題,并在許多領(lǐng)域得 到發(fā)展。多源混合信號的盲分離技術(shù)在通訊、語(yǔ)音信號處理、生物醫學(xué)信號處理、陣列信號處理以及通用信號分析等方面有著(zhù)非常重要的應用價(jià)值。獨立分量分析 (Independent Component-Analysis,簡(jiǎn)稱(chēng)ICA)是近年來(lái)由盲信源分解技術(shù)發(fā)展而來(lái)的多道信號處理辦法。通過(guò)假定傳感器陣列所采集到的信號是多個(gè)具有 統計獨立性的內在信源信號的線(xiàn)性疊加,再采用某種特定的優(yōu)化準則將所謂的獨立分量一一分解出來(lái)。該方法的基本思路是以非高斯信號為研究對象,在獨立性假設 的前提下,對多路觀(guān)測信號進(jìn)行盲源分離。在滿(mǎn)足一定的條件下,能夠從多路觀(guān)測信號中,較好地分離出隱含的獨立源信號。盲信號分離可以用于對二維數據,如圖 像的處理。在圖像恢復和重構問(wèn)題中,主要任務(wù)就是從被污染的圖像中恢復出原本的面目。有各種可能造成圖像的污染,如相機抖動(dòng)、鏡頭變換、傳輸噪聲疊加等, 這些因素都是未知的。本研究在仿真試驗中,用ICA成功分離出原始圖像。
1 ICA基本原理
獨立分量分析旨在對獨立信源產(chǎn)生且經(jīng)過(guò)未知混合的觀(guān)測信號進(jìn)行盲分離,從而重現原獨立信源,其應用主要集中在盲源分離和特征提取兩方面。ICA問(wèn)題可簡(jiǎn)單描述為:
設有N個(gè)未知的源信號Si(t),i=1,…,N構成一個(gè)列向量S(t)=[S1(t),…,SN(t)]T,其中,t是離散時(shí)刻,取值為 0,1,2,…。設A是一個(gè)M×N維矩陣,一般稱(chēng)為混合矩陣(mixing matrix)。設X(t)=[Xl(t),…,XM(t)]T是由M個(gè)可觀(guān)察信號Xi(t),i=1,…,M,構成的列向量,且滿(mǎn)足下列方程:
X(t)=AS(t),M≥N (1)
BSS的問(wèn)題是,對任意t,根據已知的X(t)在A(yíng)未知的條件下求未知的S(t)。這構成一個(gè)無(wú)噪聲的盲分離問(wèn)題。設N(t)=[Nl(t),…,NM(t)]T是由M個(gè)白色、高斯、統計獨立噪聲信號Ni(t)構成的列向量,且X(t)滿(mǎn)足下列方程:
X(t)=AS(t)+N(t),M≥N (2)
則由已知的X(t)在A(yíng)未知時(shí)求S(t)的問(wèn)題是一個(gè)有噪聲盲分離問(wèn)題。
ICA的目的是對任何t,根據已知的X(t)在A(yíng)未知的情況下求未知的S(t),ICA的思路是設置一個(gè)N×N維反混合陣W=(wij),X(t)經(jīng)過(guò)W變換后得到N維輸出列向量Y(t)=[Yl(t),…,YN(t)]T,即有
Y(t)=WX(t)=WAS(t) (3)
整個(gè)過(guò)程可以表示成如圖l:
如果通過(guò)學(xué)習得以實(shí)現WA=I(I是N×N維單位陣),則Y(t)=S(t),從而達到了源信號分離目標。
2 FastICA算法
FastICA算法本質(zhì)上是一種最小化估計分量互信息的神經(jīng)網(wǎng)絡(luò )方法,利用最大熵原理來(lái)近似負熵,并通過(guò)一個(gè)合適的非線(xiàn)性函數g使其達到最優(yōu)。其算法具有很多神經(jīng)算法里的優(yōu)點(diǎn):并行的、分布的、計算簡(jiǎn)單、要求內存小。如果要估計多個(gè)分量,我們可以按如下步驟計算:
1)對觀(guān)測數據進(jìn)行中心化,使它的均值為0;
2)對數據進(jìn)行白化,X→Z。
3)選擇需要估計的分量的個(gè)數m,設迭代次數p←1。
4)選擇一個(gè)初始權矢量(隨機的)Wp。
5)令Wp=E{Zg(WTpZ)}一E{g’(WTpZ)}W,非線(xiàn)性函數g的選取見(jiàn)前文。
8)假如Wp不收斂的話(huà),返回第5步。
9)令p=p十l,如果p≤m,返回第4步。
3 試驗仿真結果及主要Matlab代碼
盲 源分離已經(jīng)在圖像處理領(lǐng)域得以應用,在仿真數據下驗證FastICA算法對圖像盲分離的效果如圖2所示。原始圖像為3幅彩色圖像,產(chǎn)生隨機混合矩陣,將原 始圖像混合后得到混合圖像,可見(jiàn)原始圖像已經(jīng)看不出來(lái)。用FastICA對上面的混合圖像進(jìn)行盲分離,即假定在未知源圖像和混合矩陣下對混合圖像進(jìn)行分 離,得到分離后的結果,由于ICA問(wèn)題本身具有一些不確定因素,包括:1)分離后結果的排序與源信號會(huì )不一致;2)分離后的信號可能會(huì )與源信號相差一個(gè)負 號。由于仿真實(shí)驗在源圖像未知情況下進(jìn)行,因此我們在分離后的圖形中可能會(huì )發(fā)現圖像的排序發(fā)生變化,不過(guò)這些不會(huì )影響該算法對實(shí)際問(wèn)題的處理。
附主要算法代碼和說(shuō)明如下:
初始化后讀入原始圖像,混合,并輸出混合圖像,計算圖片數據的維數,將其重新排列為一維行向量并組成矩陣,圖片個(gè)數即為變量數,圖片的像素數即為采樣數, 將圖像數據轉換為雙精度格式。取一隨機矩陣,作為信號混合的權矩陣,得到三個(gè)圖像的混合信號矩陣,將混合矩陣重新排列為原始的圖片矩陣并輸出。
%數據復原并構圖
ICAedS=B’*Q*MixedS_bak;
ICAedS_bak=ICAedS;
ICAedS=abs(55*ICAedS);
最后將計算后的混合矩陣重新排列為圖片矩陣并輸出。
4 結束語(yǔ)
在 分析獨立分量分析(ICA)的基本模型和方法的基礎上,詳細地探討了FastICA算法,并通過(guò)仿真試驗,成功地用該算法將3幅混合圖像有效地分離出來(lái), 但是在自然界中需要處理許多被污染的圖像,這些圖像含有眾多未知的噪聲,我們如何利用壓縮稀疏編碼進(jìn)行圖像去噪,使得基本的ICA模型可用,是我們下一步 的工作。