淺談壓縮感知(二):理論基礎
主要內容:
- 訊號的稀疏表示
- 編碼測量(取樣過程)
- 恢復演算法(非線性)
一、訊號與影象的稀疏表示
在DSP(數字訊號處理)中,有個很重要的概念:變換域(某個線性空間:一組基函式支撐起來的空間)
一般而言,我們的訊號都是在時域或空域中來表示,其實我們可以在其他變換域中通過某些正交基函式的線性組合來表示訊號。如:sinusoids, wavelets, curvelets, Gabor functions,. . .
對於某個變換域或空間,其基函式是確定的,只要得到係數α的這一組值,即可通過該係數向量來表示訊號。
那麼係數α該怎麼求呢?
說了這麼多,為什麼要通過變換域的係數來表示訊號呢?
很明顯,係數向量α的大小遠小於原始訊號,這一個壓縮和降維的過程(稀疏性),有利於儲存、傳輸和處理。
下面以圖片為例,介紹傳統的影象表示方法DCT和現代的影象表示方法小波變換:
Classical Image Representation: DCT
Discrete Cosine Transform (DCT)
Basically a real-valued Fourier transform (sinusoids)
如上圖所示,左邊為原始影象,右邊為DCT變換後的影象。
該影象表示二維的頻率幅值係數,可以看出,右下角的大部分系數接近於0。也就是說影象的大部分能量都集中在左上角的低頻部分(稀疏性),
因此我們只要保留左上角的資訊(壓縮),就可以很好地重建出左邊的影象。(有損)
這也就是JEPG影象壓縮標準的基礎:DCT變換。
DCT重建(反變換)的影象特點:平滑區域表現很好,邊緣可能會模糊或出現振鈴(因為某些高頻訊號丟失)
Modern Image Representation: 2D Wavelets
如上圖所示,左邊為原始影象,中間為尺度影象,右邊為小波變換後的係數結構
係數框架:大系數很少,小系數很多(稀疏性)
這也是JPEG2000壓縮標準的基礎:小波變換。
小波變換重建(反變換)的影象特點:平滑區域表現很好,邊緣更加尖銳(在邊緣處理上,比DCT好)
小波變換的影象重建:
小波係數的分佈:
小波變換的重建:
這一部分主要介紹了變換域,以及訊號在變換域的稀疏表示,並以影象的DCT和小波變換為例,來闡述訊號在變換域的稀疏性。
稀疏性的作用總結:
- 壓縮
- 去噪
- 降維
二、編碼測量
跟傳統採集不同,壓縮感知採集的不是畫素點,而是一組線性組合的測量值。
下面的公式表示每一個測量值yi的計算過程,f表示訊號,Φ表示測量矩陣,兩者的內積之和即為yi。
經過M次測量之後,即得到所需要的M個測量資料Y。
問題是測量矩陣應該怎麼選擇呢?
為了能夠重構訊號,測量矩陣的選擇尤其重要,矩陣需要滿足與訊號的稀疏表示基Ψ不相關。(RIP性質,具體不詳述)
實驗證明:高斯隨機矩陣、一致球矩陣、二值隨機矩陣、區域性傅立葉矩陣、區域性哈達瑪矩陣以及託普利茲矩陣等能在很大概率上滿足上述條件。
測量公式如下:
三、稀疏重建演算法
假設訊號是K-sparse,測量矩陣是高斯隨機矩陣,現在通過採集獲得了M個測量值,我們如何恢復出我們的訊號呢?
測量過程:
重建過程:(數學建模:L1 Minimization,當然還有其他方法,後續再敘述)
需要多少個測量值才能夠有效地恢復出訊號呢?一個、兩個很明顯是不行的,N個顯然就沒有了壓縮的意義,那麼至少多少才合適呢?
下面的公式給出了一個估計值:
變換域重建:
舉例: