导向滤波(Guided Filter)公式详解

  引导滤波(Guided Filtering)和双边滤波(BF)、最小二乘滤波(WLS)是三大边缘保持(Edge-perserving)滤波器。当然,引导滤波的功能不仅仅是边缘保持,只有当引导图是原图的时候,它就成了一个边缘保持滤波器。
  它在图像去雾,图像抠图上均有相应的应用。


原理

  对于一个输入的图像p pp,通过引导图像I II,经过滤波后得到输出图像q qq,其中p ppI II都是算法的输入。引导滤波定义了如下所示的一个线性滤波过程,对于i ii位置的像素点,得到的滤波输出是一个加权平均值:
q i = ∑ j W i j ( I ) p j , (1) q_i=\sum_j W_{ij}(I)pj, \tag1image.png(1)
其中,i iij jj分别表示像素下标。W i j W_{ij}Wij是只和引导图像I II相关的滤波核。该滤波器相对于p pp是线性的。
  导向滤波的一个重要假设是输出图像q qq和引导图像I II在滤波窗口w k w_kwk上存在局部线性关系:
q i = a k I i + b k , ∀ i ∈ w k , (2) q_i=a_kI_i+b_k,\forall i\in w_k,\tag2image.png(2)
对于一个以r rr为半径的确定的窗口w k w_kwk,(a k a_kakb k b_kbk)也将是唯一确定的常量系数。这就保证了在一个局部区域里,如果引导图像I II有一个边缘的时候,输出图像q qq也保持边缘不变,因为对于相邻的像素点而言,存在∇ q = a ∇ I \nabla q=a\nabla Iimage.png。因此只要求解得到了系数a aab bb也就得到了输出q qq。同时认为输入图像中非边缘区域又不平滑的地方视为噪声n nn,就有q i = p i − n i q_i=p_i-n_iimage.png。最终的目标就是最小化这个噪声。对于每一个滤波窗口,该算法在最小二乘意义上的最优化可表示为a r g m i n ∑ i ∈ w k ( q i − p i ) 2 a r g m i n ∑ i ∈ w k ( a k I i + b k − p i ) 2 (3) argmin \sum_{i\in w_k}(q_i-p_i)^2 \\ argmin \sum_{i\in w_k}(a_kI_i+b_k-p_i)^2 \tag3image.png(3)
最后,引入一个正则化参数ϵ \epsilonϵ避免a k a_kak过大,得到滤波窗口内的损失函数:
E ( a k , b k ) = ∑ i ∈ w k ( ( a k I i + b k − p i ) 2 + ϵ a k 2 ) . (4) E(a_k,b_k)=\sum_{i\in w_k}((a_kI_i+b_k-p_i)^2+\epsilon a_k^2).\tag4
image.png
(4)

求解最优化过程(对参数求偏导):
δ E a k = ∑ i ∈ w k ( 2 ( a k I i + b k − p i ) ( I i ) + 2 ϵ a k ) = 0 (5) \frac {\delta E}{a_k}=\sum_{i\in w_k}(2(a_kI_i+b_k-p_i)(I_i)+2\epsilon a_k)=0 \tag5image.png(6)
-----------------2020-10-27更新-----------------
因为求导这部分我之前也写的有问题,评论里也有问到,这里再把过程写详细点,方便大家对照自己的推导过程。
先求解b k b_kbk
b k = 1 ∣ w ∣ ( ∑ i ∈ w k p i − a k ∑ i ∈ w k I i ) (7) b_k=\frac{1}{|w|}(\sum_{i\in w_k}p_i-a_k\sum_{i\in w_k}I_i)\tag7image.png(7)
为了方便运算和简化公示,这里记p k ‾ = 1 ∣ w ∣ ∑ i ∈ w k p i \overline{p_k}=\frac{1}{|w|}\sum_{i\in w_k}p_iimage.png(8)
然后求解a k a_kak
整理前面的求导公式可得:

δ E a k = ∑ i ∈ w k ( a k I i 2 + b k I i − p i I i + ϵ a k ) = 0 (9) \frac {\delta E}{a_k}=\sum_{i\in w_k}(a_kI_i^2+b_kI_i-p_iI_i+\epsilon a_k)=0 \tag9image.png(9)
代入简化后的b k b_kbk
∑ i ∈ w k ( a k I i 2 + ( p k ‾ − a k I k ‾ ) I i − p i I i + ϵ a k ) = 0 (10) \sum_{i\in w_k}(a_kI_i^2+(\overline{p_k}-a_k\overline{I_k})I_i-p_iI_i+\epsilon a_k)=0\tag{10}image.png(10)
∑ i ∈ w k ( a k I i 2 + p k ‾ I i − a k I k ‾ I i − p i I i + ϵ a k ) = 0 (11) \sum_{i\in w_k}(a_kI_i^2+\overline{p_k}I_i-a_k\overline{I_k}I_i-p_iI_i+\epsilon a_k)=0\tag{11}image.png(11)
移项,注意求和符号的层级关系,提出a k a_kak,注意带下标k的都可以从求和函数提出:
a k ∑ i ∈ w k ( I i 2 − I k ‾ I i + ϵ ) = ∑ i ∈ w k ( p i I i − p k ‾ I i ) (12) a_k\sum_{i\in w_k}(I_i^2-\overline{I_k}I_i+\epsilon)=\sum_{i\in w_k}(p_iI_i-\overline{p_k}I_i)\tag{12}image.png(12)
a k ( ∑ i ∈ w k I i 2 − I k ‾ ∑ i ∈ w k I i + ∑ i ∈ w k ϵ ) = ∑ i ∈ w k p i I i − p k ‾ ∑ i ∈ w k I i (13) a_k(\sum_{i\in w_k}I_i^2-\overline{I_k}\sum_{i\in w_k}I_i+\sum_{i\in w_k}\epsilon)=\sum_{i\in w_k}p_iI_i-\overline{p_k}\sum_{i\in w_k}I_i\tag{13}image.png(13)
为了进一步简化,在image.png

即为a k a_kak的结果,相比与论文中的结果,这里进一步替换简化了公式。
-----------------分割线-----------------
  接下来,只要把上述线性模型应用到整个图像的滤波窗口。但是可以看到,每一个像素点会被包含在多个窗口里。比如,如果用3*3的窗口滤波,那么除了边缘区域的每个点都会被包含在9个窗口里。因此,对于不同的窗口,我们将会得到∣ w ∣ |w|wq i q_iqi值,就对所有的q i q_iqi值取平均,得到最终结果:
q i = 1 ∣ w ∣ ∑ k : i ∈ w k ( a k I i + b k ) (16) q_i=\frac{1}{|w|}\sum_{k:i\in w_k}(a_kI_i+b_k)\tag{16}image.png


边缘保持

  对于该算法,当I = p I=pI=p时,即输入图像和引导图像是同一副图像时,该算法即成为一个边缘保持滤波器。同时,方程的解也可作如下表示:
a k = σ k 2 σ k 2 + ϵ (18) a_k =\cfrac{\sigma _k^2}{\sigma _k^2+\epsilon}\tag{18}image.png
从中可以看出,ϵ \epsilonϵ在这里相当于界定平滑区域和边缘区域的阈值。

考虑以下两种情况:

  • image.png

  


应用

1、以自身作为引导图的保边平滑滤波:

2、以原图引导的对透射率滤波的暗通道去雾

3、以原图引导的对权重图滤波的引导图像融合


转载自:https://blog.csdn.net/weixin_43194305/article/details/88959183


本文出自勇哥的网站《少有人走的路》wwww.skcircle.com,转载请注明出处!讨论可扫码加群:

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

会员中心
搜索
«    2024年4月    »
1234567
891011121314
15161718192021
22232425262728
2930
网站分类
标签列表
最新留言
    热门文章 | 热评文章 | 随机文章
文章归档
友情链接
  • 订阅本站的 RSS 2.0 新闻聚合
  • 扫描加本站机器视觉QQ群,验证答案为:halcon勇哥的机器视觉
  • 点击查阅微信群二维码
  • 扫描加勇哥的非标自动化群,验证答案:C#/C++/VB勇哥的非标自动化群
  • 扫描加站长微信:站长微信:abc496103864
  • 扫描加站长QQ:
  • 扫描赞赏本站:
  • 留言板:

Powered By Z-BlogPHP 1.7.2

Copyright Your skcircle.com Rights Reserved.

鄂ICP备18008319号


站长QQ:496103864 微信:abc496103864