【數字圖像處理】Bilateral Filters
https://www.yuque.com/lart/idh721/bf算法
簡單介紹
雙邊濾波是一種非線性的能夠模糊圖像而且能保留必定的邊緣信息的技術。app
它可以將圖像分解成不一樣的尺度,而不會在修改後產生光暈(haloes),這使得它在計算攝影應用中無處不在(ubiquitous),例如調色,風格轉換,重調光照,去噪(tone mapping, style transfer, relighting, and denoising)。dom
雙邊濾波的成功主要有如下一些:ui
- 它的公式很簡單:每一個像素被它的鄰居的加權平均值代替。這方面很重要,由於很容易得到關於其行爲的直觀理解,從而適應特定於應用程序的需求並實現它。
- 它只依賴於兩個參數,這兩個參數表示要保留的特徵的大小和對比度。
- 它能夠以非迭代的方式使用。這使得參數很容易設置,由於它們的影響不是經過屢次迭代累積的。
- 因爲高效的數值策略,以及,甚至在圖形硬件可用的狀況下,它能夠以交互速度在大的圖像上進行計算。
具體表達
雙邊濾波和通常的高斯濾波(卷積)有着密切的關聯。spa
Gaussian Convolution
- \(I_p\)表示圖像在像素位置p上的值,對於灰度圖,則表示單個數值
- \(F[I]\)表示圖像\(I\)通過濾波器\(F\)處理後的輸出
- \(S\)表示全部可能的圖像位置集合,將其命名爲spatial domain
- \(R\)表示全部可能的像素值集合,將其命名爲range domain
- \(\sum_{p \in S}\)表示對於全部的使用p索引的圖像像素進行加和
- \(| \cdot |\)表示絕對值
- \(|| \cdot ||\)表示L2範數,這裏使用\(||p-q||\)表示對應於位置p和q的兩個像素之間的歐氏距離
- \(\sigma\)表示鄰域範圍
Bilateral Filtering
雙邊濾波以一種相似於高斯卷積的方法定義爲鄰近像素的加權平均。不一樣的是,雙邊濾波考慮了鄰居的值的差別,在平滑的時候能夠保留邊緣信息。blog
雙邊濾波的關鍵想法在於,對於一個影響其餘像素的像素,它應該不僅出如今相近的位置,也應該有着類似的值。索引
雙邊濾波的一個重要特徵是權值相乘:若是任一權值接近於零,則不發平生滑做用。以大的空間高斯分佈與小的範圍高斯分佈相結合的算法爲例,儘管空間範圍很大,但只能實現有限的平滑效果。範圍權重會強制保留輪廓。get
- \(\sigma_s\)和\(\sigma_r\)表示對於圖像\(I\)的濾波的量(也就是濾波器範圍)
- \(G_{\sigma_s}\)表示空間高斯加權,以下降遠處像素的影響
- \(G_{\sigma_r}\)表示範圍高斯加權,以下降像素q在亮度值與像素p差別較大的時候,形成的影響
相關連接