导向滤波算法分析

mightycode 2017-12-11 原文

本文从数学上推导导向滤波的算法,其算法的具体实现在下一篇介绍。

设引导图G,输入图像P,输出图像Q。导向滤波的目标是使得输入P和输出Q尽可能相同,同时纹理部分和引导图G相似。

为了满足第一个目标,使输入P和输出Q尽可能相似,我们要求最小化平方差

为了满足第二个目标,使输出图像Q的纹理和引导图G的纹理相似,我们要

积分得到

考虑一个小窗口Wk,在Wk内认为a,b保持不变,设为ak,bk。Wk内的像素满足

  (1)

把(1)代入第一个目标,使窗口内的像素同时满足上面两个条件。

  (2)

其中ε是一个惩罚大的ak的正则化参数。使(2)最小,满足

其中|W|是窗口Wk的像素总数。解得

  (3)

  (4)

如果设/pk是输入图P在窗口Wk的平均值,μk和σk2是引导图G在窗口Wk的平均值和方差。我们发现

  (5)

  (6)

其中是引导图G和输入图P在Wk的协方差。

计算出ak,bk后,就可以根据(1)来计算窗口Wk的输出像素。对于一个像素i,输出值qi和所有覆盖像素i的窗口Wk有关。所以当Wk不同,qi的值也不相同。一个简单的策略是平均所有可能的qi值。计算了所有覆盖i的窗口Wk的ak,bk,所有覆盖像素i的窗口Wk的个数为|W|,那么

  (7)

  (8)

其中

—————————————–

特别的,当引导图G和输入图像P相同的时候,导向滤波出现边缘保持平滑特性,分析如下。当G=P时,很明显,由式(5)(6)得到。当ε=0时,ak=1,bk=0,即输出和输入图像相同。如果ε>0,考虑两种情况。

第一种,高方差。如果图像P在窗口Wk中有很多变化,那么σk2>>ε,有ak≈1,bk≈0

第二种,平坦块。那么σk2<<ε,有ak≈0,bk≈μk。如果整个输入图像都如窗口Wk似的很平坦的,当ak,bk被平均后得到/ak≈0,/bk≈μk,qi≈μk

这样,当一个像素在高方差的窗口中时,它的输出值是不变的。在平坦区域中,它的输出值变成周围窗口像素的平均值。具体的,高方差和平坦的标准是由参数ε控制的。如果窗口的方差比此参数小的多则被平滑,那么方差大得多的则被保留。而窗口的大小决定了是参考周围多大范围的像素来计算方差和均值。

——————————————

至此,已经可以根据(5)~(8)式计算导向滤波的参数,从而计算输出图像Q。导向滤波的的算法实现在下一篇文章介绍。下面把导向滤波用通用滤波器核来表达进行进一步分析。

导向滤波在像素点i的滤波结果可以表达为一个加权平均

  (9)

其中i,j都是像素下标。滤波器核Wij是引导图G的函数并且与P独立。下面计算滤波器核。把(6)带入(8)消去b得到:

  (10)

求偏导

  (11)

其中

  (12)

当j处于窗口Wk时,否则为0

  (13)

把(12)(13)带入(11)得到

  (14)

考虑含有边缘阶跃信号的图像,如果i,j在边缘的同一侧,(gik)和(gjk)符号相同,而当它们在边缘的两侧时则符号不同。所以Wij(G)当两个像素点在边缘的两侧时比在相同边时要小得多。这就说明隔着边缘的时候,pj对结果的贡献很小,窗口像素不会平均到一起。而当j和i在边缘的同侧时,输出像素qi是同侧像素的加权平均值。加权系数由导向图G决定。因此可以看到,导向滤波确实可以起到保留边缘的作用。

posted on 2017-12-11 10:45 爱鱼 阅读() 评论() 编辑 收藏

 

 
版权声明:本文为mightycode原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:http://www.cnblogs.com/mightycode/p/8005514.html

导向滤波算法分析的更多相关文章

随机推荐

  1. 从壹开始前后端分离 [ Vue2.0+.NET Core2.1] 十九║Vue基础: 样式动态绑定+生命周期

    回顾  哈喽大家好,前后端分离系列文章又开始了,今天周一,还是感谢大家花时间来观看我写的博客,周末呢,没有写文 […]...

  2. HTTP请求方式及常见问题

    请求方式 当前HTTP一共有八种方式。有三种是有HTTP1.0提供,剩余五种则是有HTTP1.1提供 常见问题 […]...

  3. 全球黑客大赛获奖者:攻破微软IE8只需2分钟

    据国外媒体报道,近日在加拿大温哥华举行的2010年Pwn2Own全球黑客大赛上,两名黑客在Windows 7操 […]...

  4. R语言—如何安装Github包的解决方法,亲测有效

    R语言—如何安装Github包的解决方法,亲测有效 准备安装材料:  R包-REmap GitHub下载地址: […]...

  5. 58.构造方法的重载

    404...

  6. 漫画 | 夜深了,程序员的电脑却没关,发生了这样的故事…

    今天这篇漫画 ,讲述的是一个程序员(王大拿) 看到女神发来失恋的信息,匆忙下班赶着去撩妹 ,忘记了关电脑,而引 […]...

  7. 数据泵导出导入物化视图

    数据泵导出导入物化视图(ORA-39083)   1.1  BLOG文档结构图     1.2  前言部分 1 […]...

  8. 随笔(一)

    好久没有更新博客了,主要是这段时间一直忙着换工作,疫情期间,找工作真不容易,最后奉劝广大的博友们,如果没有必定 […]...