1. 程式人生 > >Guided Image Filtering

Guided Image Filtering

在影象濾波中,人們最希望的就是可以將影象中的噪聲過濾掉的同時,能夠讓邊緣儘可能的保持。噪聲屬於高頻訊號,而邊緣其實也是一種高頻訊號,所以一般的濾波器,比如高斯模糊,均值模糊,都是一種低通濾波器,能夠將高頻訊號做平滑處理,這些kernel在將噪聲濾掉的同時,也會將邊緣模糊掉,所以保邊濾波器的設計一直是影象濾波的重點。

導向濾波是非常有名的一種保邊濾波器,與傳統的高斯濾波,均值濾波獨立於影象的內容不同,導向濾波的 kernel 基於一個 guided image, 簡單來說,就是給定一個 guided image I, 一個 input image p, 我們能夠得到一個 output image q

.

qi=jWijpj

i,j 表示畫素的索引,Wij 是一個濾波係數,由 guided image I 決定,而與輸入影象 p 無關。雙邊濾波器就是類似這樣的一種濾波器,我們可以定義:

Wbfij(I)=1Kiexp(|xixj|2σ2s)exp(|IiIj|2σ2r)

Ip 一樣的時候,上式就是最原始的雙邊濾波器的表示式,xi,xj 表示畫素的座標,Ki 是一個歸一化的係數,σs 控制畫素空間的相似性, σr 控制畫素值的相似性。

接下來,我們可以定義導向濾波器以及它的核函式,具體的定義形式如下:

qi=akIi+bk,iwk

這個表示式意味著,在一個區域性區域 w

k,導向分量 Ii 和輸出 qi 是層線性關係的,
上式保證 了 q=aI,意味著輸出 q 和 導向圖 I 具有同樣的邊界性質,
為了求解線性係數 ak,bk, 我們可以定義如下的能量函式:

E(ak,bk)=iwk((akIi+bkpi)2+ϵa2k)

一般來說,ϵa2k 是一個正則項,以防止 ak 太大,最後利用線性迴歸,我們可以得到:

ak=1|w|iwkIipiμkpk¯σ2k+ϵ bk=pk¯akμk

μk,