總變差去噪

__FORCETOC__
總變差去噪(英語:Total Variation Denoising)是訊號處理中一種常見的降噪方法,於1992年由L. I. Rudin、和E. Fatemi提出,因此亦稱為ROF模型。一個含有雜訊的訊號相較於其未受雜訊影響的訊號,會有較大的總變差值,即其梯度絕對值的總和較大。因此若能找到一個與原始訊號相似且總變差較小的訊號,即可作為原始訊號的降噪結果。此算法可以在去除雜訊的同時保留邊緣,即使在低訊號雜訊比的情況下,依然能有效的去噪和保留邊緣。

總變差
總變差為一函數其數值變化的總和。可表示為其微分後取絕對值再積分的結果。
一維連續函數
若一函數y=f(x)為一維連續可微函數,其在區間[a,b]\subset\mathbb{R}之總變差定義為
: TV_a^b(y) = \int_{a}^{b}|f'(x)|dx,
其中f'(x)為f(x)的一次微分。

當f(x)不可微分時,其總變差由一般性的定義給出:
: TV_a^b(y) = \sup_{\mathcal{P}} \sum_{i=0}^{n_P-1} | f(x_{i+1})-f(x_i) |,
其中\mathcal{P}為區間[a,b]中所有可能的分割,即\scriptstyle \mathcal{P} =\left\{P=\{ x_0, \dots , x_{n_P}\}|P\text{ is a partition of } [a,b] \right\}。

一維離散函數
若一函數y=f(x)為一維離散函數,則其總變差定義為
: TV(y)=\sum_{n}|f(x_{n+1})-f(x_n)|.
即差分後取絕對值再加總的結果。

一維訊號去噪
設輸入的觀察訊號為x,對x去噪得到的訊號為y。我們可以透過解最佳化問題來從x得到y。當以總變差去噪法對訊號進行去噪時,最佳化問題應滿足以下兩個條件:
*x與y相似,以保留訊號整體的結構性
*y的總變差不大,以降低雜訊
在數學上,兩個訊號的相似度可以以兩者差的L_2-範數表示,即
: E(x,y)=\frac{1}{2}\left \| x-y \right \|_2^2 = \frac{1}{2}\sum_{n}(x_n-y_n)^2,
其中\left \| \cdot \right \|_2即為L_2-範數,而x_n, y_n為訊號的取樣點。

藉由上述數學表達式,總變差去噪法的最佳化問題可以寫成
: \min_{y}E(x,y)+\lambda TV(y).
即利用最小平方法,並以總方差作為正規化的正規項,以求得去噪結果。其中\lambda為正規化參數,用於調整正規項的重要程度。

由於E(x,y)和TV(y)皆為凸函數,因此一維總變差去噪的最佳化為一凸優化問題,有許多凸優化演算法可以求解,且其解必為全局最佳值。

影像去噪
影像為二維離散訊號,在ROF模型中定義的總變差為
: TV(y)=\sum_{m,n}\left\|\nabla y_{m,n}\right\|_2 = \sum_{m,n}\sqrt\left\|\mathbf{Y}-\mathbf{S}_x^l\mathbf{S}_y^m\mathbf{Y}\right\|_1,
其中\mathbf{Y}為處理圖片,\mathbf{S}_x^l與\mathbf{S}_y^m為兩個運算子,分別代表將圖片水平移動l個像素與垂直移動k個像素。\lambda為權重,隨著平移距離遞減。

當l=1,m=0和l=0,m=1時,圖片的每一個像素與相鄰之下一個像素相減,此時的雙邊總變差與總變差相同。當l,m為其它值時,可以當成是計算斜線方向以及將圖片降採樣後的總變差值。如此達到更好的正規化效果。

根據S.Farisu的實驗結果,雙邊總變差相對於總變差,邊界模糊的情況較少,能夠更好的保留原圖片邊界。

參見
*數位訊號處理
*最佳化
*影像降噪
*高斯模糊
*中值濾波器
*雙邊濾波器
*非等向性擴散
*非局部平均
*三維塊匹配算法

參考文獻

评论 (0)

  • 还没有评论,来抢沙发吧。