聲明
-
之前雖然聽過壓縮感知和稀疏表示,實際上前兩天才正式着手開始了解,純屬新手,如有錯誤,敬請指出,共同進步。
-
主要學習資料是 Coursera 上 Duke 大學的公開課——Image and video processing, by Pro.Guillermo Sapiro 第 9 課。
-
由於對圖像處理的了解也來自與該課程,沒正經兒看過幾本圖像方面的書籍,有些術語只能用視頻中的英文來表達,見諒哈!
1. From Local to Global Treatment
圖片尺寸有大有小,在 DCT 變換中,我們一般取 8×8 的方塊作為一組 64 維的變換信號,在稀疏表示中,我們同樣也不能把整張圖片作為 X^T 矩陣,而是在大圖片中取一定尺寸的 patch (假設是 8×8 的方塊)作為一個 signal。對於圖片中的所有的 patch (假設 ij 是 patch 的左上角坐標)組成的信號,已知字典 D 和噪聲圖片 y ,估計公式如下:
y: 帶有噪音的圖片—— the whole image
x: 要恢復的 clear image
Rij x: 以 i,j 為左上角坐標的 patch, Rij 是從 x 中提取 patch 的 0-1 矩陣
D: 字典 for all the overlapping patches
字典 D 從哪里學習?第一種選擇是基於圖片的數據庫,第二種是直接使用要降噪的圖片進行訓練。還有一種可能性是:首先基於圖片的數據庫得到字典 D (off-line),接着來了一張要降噪的圖片,我們的做法是新建一個以 D 為初始化的字典,在要處理的圖片上再進行迭代(on-line),得到新字典,這個新字典更適合降噪,代價是多一些計算。
2. K-SVD Image Denoising
在上一小節中,我們提出的可能性是 D 也需要根據要降噪的圖片進行再適應,所以,圖片降噪的公式多了一參數:
有三個變量,處理方法是先固定其中兩個,優化一個,然后迭代。從整體上來說,先用 K-SVD 算法得到字典矩陣 D 和系數編碼 alpha,保持它們不動,再優化 x:
x 的最優解實際上就是所有包含 x 像素點的 patch 的平均值,比如 patch 的大小是 8×8, 那么包含圖片中某一個像素點的 patch 就有 64 個,這個像素點最優解就是取這 64 個patch 對應位置的平均值。當然,你也可以用權重來調節不同位置的 patch 對 pixel 的影響,比如 pixel 在中間的 patch,權重大,pixel 在 patch 邊邊角角的地方,權重小。
3. Compressed Sensing
前面我們探討了 sparse represent 的等式,這里主要講 compressed sensing 的概念,即在稀疏表示的等號兩邊同時乘以矩陣 Q:
就變成了:
用公式可以表達為:
可以看到,變換后的信號被大大壓縮了。在一直 x波浪 和 D波浪 的情況下求 alpha 這個問題和前面 sparse coding 非常類似。一個關鍵問題是:在什么條件下由已知信號 x波浪 的情況下恢復稀疏表示 alpha?顯然,這個問題與矩陣 Q,字典 D 和 alpha 的 sparse level 有關,背后涉及很多數學理論。
4. Structured Sparse Models and GMM
待續...
5. Sparse Modeling and Classification-Activity Recognition
待續...