【图像处理】-022 双边滤波

【图像处理】-022 双边滤波

  之前工作中为了进行人脸美颜的磨皮工作,对双边滤波进行了研究,这里重新整理记录一下。


  无论是在频域滤波还是空域滤波中,都讲到了高斯滤波,高斯滤波可以平滑图像、降低噪声的效果。在图像降噪有应用,但高斯滤波的平滑效果是对整个滤波区域一致的,也就是说对整个图像中,无论是边缘还是平坦区域,滤波强度都一致。而实际图像中,图像的边缘信息通常比平坦区域的信息更重要,所以,需要一种滤波,既能够对平坦区域进行滤波,同时对边缘信息能够很好的保持。由此引出了双边滤波。

1 双边滤波

1.1 基本推导

  双边滤波(Bilateral Filter)是一种非线性滤波器,是结合图像的空间邻近度和像素值相似度的一种折中处理,同时考虑了空域信息和灰度相似性,从而力求在保持图像中边缘信息的同时,又实现降噪的效果。具有简单、非迭代以及局部性的特点。

  在空域中,考虑一种移不变的低通局部滤波器:
(1) h ( x ) = k d − 1 ∫ ∞ ∞ ∫ ∞ ∞ f ( ξ ) c ( ξ − x ) d ξ \bold{h}(\bold{x})=k_{d}^{-1}\int_{\infty}^{\infty}\int_{\infty}^{\infty}\bold{f}(\xi)c(\xi - \bold{x})d\xi \tag{1} h(x)=kd1f(ξ)c(ξx)dξ(1)
其中, h \bold{h} h f \bold{f} f分别表示滤波器的输出和输入图像。为了保持图像的直流分量,
(2) k d = ∫ ∞ ∞ ∫ ∞ ∞ c ( ξ ) d ξ k_d=\int_{\infty}^{\infty}\int_{\infty}^{\infty}c(\xi )d\xi \tag{2} kd=c(ξ)dξ(2)
  与空域中的滤波器类似,在值域中也可以考虑一种类似的滤波器:
(3) h ( x ) = k r − 1 ∫ ∞ ∞ ∫ ∞ ∞ f ( ξ ) s ( f ( ξ ) − f ( x ) ) d ξ \bold{h}(\bold{x})=k_{r}^{-1}\int_{\infty}^{\infty}\int_{\infty}^{\infty}\bold{f}(\xi)s(\bold{f}(\xi) - \bold{f}(\bold{x}))d\xi \tag{3} h(x)=kr1f(ξ)s(f(ξ)f(x))dξ(3)
  在这种情况下,滤波器核函数衡量的是像素之间在值域内的相似度,所以,归一化的常数是:
(4) k r = ∫ ∞ ∞ ∫ ∞ ∞ s ( f ( ξ ) − f ( x ) ) d ξ k_r=\int_{\infty}^{\infty}\int_{\infty}^{\infty}s(\bold{f}(\xi) - \bold{f}(\bold{x}))d\xi \tag{4} kr=s(f(ξ)f(x))dξ(4)
  在值域滤波中,空域滤波并不起作用。值域滤波器只是改变了图像的颜色映射表,对于滤波并没有太多的作用。合适的做法,是组合空域滤波和值域滤波,对图像的空域和值域同时施加影响。组合的滤波器如下:
(5) h ( x ) = k − 1 ∫ ∞ ∞ ∫ ∞ ∞ f ( ξ ) c ( ξ − x ) s ( f ( ξ ) − f ( x ) ) d ξ \bold{h}(\bold{x})=k^{-1}\int_{\infty}^{\infty}\int_{\infty}^{\infty}\bold{f}(\xi)c(\xi - \bold{x})s(\bold{f}(\xi) - \bold{f}(\bold{x}))d\xi \tag{5} h(x)=k1f(ξ)c(ξx)s(f(ξ)f(x))dξ(5)
  其归一化常数:
(6) k ( x ) = ∫ ∞ ∞ ∫ ∞ ∞ c ( ξ − x ) s ( f ( ξ ) − f ( x ) ) d ξ k(\bold{x})=\int_{\infty}^{\infty}\int_{\infty}^{\infty}c(\xi - \bold{x})s(\bold{f}(\xi) - \bold{f}(\bold{x}))d\xi \tag{6} k(x)=c(ξx)s(f(ξ)f(x))dξ(6)
  这种组合滤波器称为双边滤波器,它使用与 x \bold{x} x相关的相似度和邻近距离替换该像素的值。在平滑区域,邻域内的像素的像素值彼此接近,双边滤波器与普通的空域滤波器工作结果相似,滤除由噪声引起的小的、与邻域内其它像素低相似度的像素。

双边滤波

  当双边滤波器的中心被放在亮的一边时,相似度函数 s s s假设值接近1的像素的亮的一侧,值接近0的像素的暗的一侧。此时,23x23的滤波器的相似度函数如图(b)所示,对于图(a)所示的输入,产生图c所示的输出。由于归一化系数k的存在,保证了邻域内所有像素的权值加起来等于1.通俗的说,此时,滤波器会忽略暗侧的像素,对亮侧的像素进行空域滤波。当双边滤波器中心被放到暗侧时,输入的亮侧会被忽略,只对暗侧进行空域滤波。由此,图像的滤波效果有空域滤波器保证,图像边缘信息的保留由值域滤波器保证。

1.2 高斯形式的双边滤波

  在上面的推导过程中,空域滤波和值域滤波都可以是高斯形式。此时,距离相近函数 c c c和相似度函数 s s s都是关于参数的欧几里得距离的高斯函数。
(7) c ( ξ − x ) = e − 1 2 ( d ( ξ − x ) σ d ) 2 c(\xi - \bold{x})=e^{-\frac{1}{2}(\frac{d(\xi - \bold{x})}{\sigma_d})^2} \tag{7} c(ξx)=e21(σdd(ξx))2(7)
其中,
(8) d ( ξ − x ) = ∣ ∣ ξ − x ∣ ∣ d(\xi - \bold{x})=||\xi - \bold{x}|| \tag{8} d(ξx)=ξx(8)
d d d是欧几里得距离。相似度函数 s s s c c c相似:
(9) s ( ξ − x ) = e − 1 2 ( δ ( f ( ξ ) − f ( x ) ) σ r ) 2 s(\xi - \bold{x})=e^{-\frac{1}{2}(\frac{\delta(\bold{f}(\xi)-\bold{f}(\bold{x}))}{\sigma _r})^2} \tag{9} s(ξx)=e21(σrδ(f(ξ)f(x)))2(9)
其中
(10) δ ( f ( ξ ) − f ( x ) ) = ∣ f ( ξ ) − f ( x ) ∣ \delta(\bold{f}(\xi)-\bold{f}(\bold{x}))=|\bold{f}(\xi)-\bold{f}(\bold{x})| \tag{10} δ(f(ξ)f(x))=f(ξ)f(x)(10)
是一种合适的衡量亮度空间中的距离的计算方式。在标量空间中,可以简单地视为像素值的差的绝对值,或者是一种亮度相关的形式。

1.3 个人理解

  双边滤波实际上可以看成两个高斯滤波的组合形式,其中空域中的高斯滤波决定滤波的效果,也就是普通的高斯滤波中的强度。值域中的高斯滤波决定双边滤波器的边缘保持能力。 σ d \sigma _d σd σ r \sigma _r σr分别决定双边滤波的平滑能力与保边能力。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值