ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

引导滤波算法理论及公式的推导

2021-07-31 23:30:13  阅读:290  来源: 互联网

标签:引导 推导 滤波 blog 边缘 算法 https article


        高斯滤波考虑了像素间的距离关系,会模糊边缘;

        双边滤波同时考虑了像素间的距离关系以及相似度关系,对于边缘有一定的保护(边缘同侧相速度高)。引导滤波同样是保边滤波,由于直接判断梯度,细节的保护上比双边滤波要好一点。

        引导滤波用到了局部线性模型,该模型可用下图简单的理解:

        该模型认为,某函数上一点与其邻近部分的点成线性关系,一个复杂的函数就可以用很多局部的线性函数来表示,当需要求该函数上某一点的值时,只需计算所有包含该点的线性函数的值并做平均即可。这种模型,在表示非解析函数上,非常有用。

        上述部分也就是下图,梯度变化就是边缘的地方,同一个图像原图和滤波后的图梯度应该保持一致,才能有效的保护边缘。所以引导图意义在于告诉我们,哪里是平滑区域,哪里是边缘区域,如求得a、b,就可以得到滤波输出。

        由上,得到如下公式:

        详细推导:https://blog.csdn.net/weixin_43194305/article/details/88959183

        关于最小二乘法数学理论,请参考如下链接,我也是恶补后才有所回忆的,https://www.matongxue.com/madocs/818/

matongxue网站对最小二乘法的理论分析,真的写的很好!法国数学家,阿德里安-馬里·勒讓德提出让总的误差的平方最小的结果就是真值,这是基于,如果误差是随机的,应该围绕真值上下波动(如果误差是正态分布,那么最小二乘法得到的就是最有可能的值——这是必然的)。

        当引导滤波作为边缘保持滤波时,引导图就是本身,即I=p,则上述公式升级:

         另外,即为滤波强度系数:

        继续分析,看看引导滤波的相关代码如下所示(盒式滤波是加速的关键):

 

        最后,回到何凯明博士的paper《Guided Image Filtering》中,借鉴相关结论。首先可以看到引导滤波相对双边滤波,对于边缘的保护确实好了很多。具体到测试图中,可见双突滤波虽然保护了边缘,但会引起白/黑边,而导向滤波则不会。虽然计算量大了很多,但是对于图像效果的提升,还是很显著,怪不得何博士一举成名。

        至于如何FPGA加速运算,涉及并行思维,后续独立成篇,详见下一篇文章

参考文章:

https://www.pianshen.com/article/65711567000/

https://blog.csdn.net/weixin_43194305/article/details/88959183

https://blog.csdn.net/pi9nc/article/details/26592377

https://blog.csdn.net/piaoxuezhong/article/details/78372787

        成也FPGA,败也FPGA;

        FPGA图像算法加速,我将持续的跟大家分享架构思维,愿能畅所欲言。

标签:引导,推导,滤波,blog,边缘,算法,https,article
来源: https://blog.csdn.net/crazybingofpga/article/details/119282921

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有