文章目录
- ICCV 1998
- 基本思路
- 双边高斯滤波
ICCV 1998
1995年,Aurich和Weule提出一种非线性高斯滤波器,三年后,Tomasi和Manduchi将其用于图像平滑,并将其命名为双边滤波。
- Aurich, V., & Weule, J. (1995). Non-linear Gaussian filters performing edge preserving diffusion. In Proceedings of the DAGM symposium
- Tomasi, C., & Manduchi, R. (1998). Bilateral filtering for gray and color images. In Proceedings of the international conference on computer vision (pp. 839–846). New York: IEEE Press
基本思路
在1995年这篇ICCV的论文中,首先给出了传统的域滤波和范围滤波的变换形式
h d ( x ⃗ ) = k d − 1 ( x ⃗ ) ∬ f ( ξ ⃗ ) c ( ξ ⃗ , x ⃗ ) d ξ ⃗ h r ( x ⃗ ) = k r − 1 ( x ⃗ ) ∬ f ( ξ ⃗ ) s ( f ( ξ ⃗ ) , f ( x ⃗ ) ) d ξ ⃗ h_d(\vec x) = k_d^{-1}(\vec x)\iint_{} f(\vec \xi)c(\vec \xi, \vec x)\mathrm d\vec \xi\\ h_r(\vec x) = k_r^{-1}(\vec x)\iint f(\vec \xi)s(f(\vec \xi),f(\vec x))\mathrm d\vec \xi\\ hd(x)=kd−1(x)∬f(ξ)c(ξ,x)dξhr(x)=kr−1(x)∬f(ξ)s(f(ξ),f(x))dξ
其中 ξ ⃗ \vec \xi ξ是 x ⃗ \vec x x邻域中的某个像素点, f f f为某像素点的强度, c ( ξ ⃗ , x ⃗ ) c(\vec \xi, \vec x) c(ξ,x)是 x x x和 ξ \xi ξ的空间临近度(geometric closeness); s ( f ( ξ ⃗ ) , f ( x ⃗ ) ) s(f(\vec \xi),f(\vec x)) s(f(ξ),f(x))为颜色相似度(photometric similarity)。 k d , k r k_d, k_r kd,kr为滤波过程中用于归一化的直流分量
k d ( x ⃗ ) = ∬ c ( ξ ⃗ , x ⃗ ) d ξ , k r ( x ⃗ ) = ∬ s ( ξ ⃗ , x ⃗ ) d ξ ⃗ k_d(\vec x) = \iint c(\vec \xi, \vec x)\mathrm d\xi,\quad k_r(\vec x) = \iint s(\vec \xi, \vec x)\mathrm d\vec \xi kd(x)=∬c(ξ,x)dξ,kr(x)=∬s(ξ,x)dξ
文中给出的二重积分的范围是 ± ∞ \pm\infty ±∞,但实际上可能仅仅局限在 x x x的邻域内,故而这里并未著明上下标。
将这两个滤波过程合并在一起,即可得到双边滤波的一个抽象形式
h ( x ⃗ ) = k − 1 ( x ⃗ ) ∬ f ( ξ ⃗ ) c ( ξ ⃗ , x ⃗ ) s ( f ( ξ ⃗ ) , f ( x ⃗ ) ) d ξ ⃗ k ( x ⃗ ) = ∬ c ( ξ ⃗ , x ⃗ ) s ( f ( ξ ⃗ ) , f ( x ⃗ ) ) \begin{aligned} h(\vec x) &= k^{-1}(\vec x) \iint f(\vec \xi) c(\vec \xi, \vec x) s(f(\vec \xi), f(\vec x))\mathrm d\vec \xi \\ k(\vec x) &= \iint c(\vec \xi, \vec x) s(f(\vec \xi), f(\vec x))\\ \end{aligned} h(x)k(x)=k−1(x)∬f(ξ)c(ξ,x)s(f(ξ),f(x))dξ=∬c(ξ,x)s(f(ξ),f(x))
双边高斯滤波
在这个抽象形式中, c , s c, s c,s这两个函数都是待定义的,文中给出了高斯形式的双边滤波
c ( ξ ⃗ , x ⃗ ) = exp [ − 1 2 d ( ξ ⃗ , x ⃗ ) σ d ] , d ( ξ ⃗ , x ⃗ ) = ∥ ξ ⃗ − x ⃗ ∥ s ( ξ ⃗ , x ⃗ ) = exp [ − 1 2 δ ( f ( ξ ⃗ ) , f ( x ⃗ ) ) σ r ] , δ ( f 1 , f 2 ) = ∣ f 1 − f 2 ∣ c(\vec \xi, \vec x)=\exp\left[-\frac{1}{2}\frac{d(\vec \xi, \vec x)}{\sigma_d} \right], d(\vec \xi, \vec x)=\Vert \vec \xi-\vec x\Vert\\ s(\vec \xi, \vec x)=\exp\left[-\frac{1}{2}\frac{\delta(f(\vec \xi), f(\vec x))}{\sigma_r} \right], \delta(f_1, f_2)=\vert f_1-f_2\vert c(ξ,x)=exp[−21σdd(ξ,x)],d(ξ,x)=∥ξ−x∥s(ξ,x)=exp[−21σrδ(f(ξ),f(x))],δ(f1,f2)=∣f1−f2∣
当 σ d , σ r \sigma_d, \sigma_r σd,σr取值不同时,其处理效果如下