立体匹配——引导滤波

基本原理

在GF中,有一个引导图像I和一个需要过滤的图像,两者之间并非要完全不同,也就是说它们可以是相同的图像。w k k k是为像素k构建的一个滤波窗口,q是输出像素的值。在这里,我们认为q和I在每个窗口满足线性变换,则公式表达为:
在这里插入图片描述
式中a k k k,b k k k为每个窗口中的线性系数,在不同的窗口中有不同的取值。同时由于▽q = a▽I,还可以保证滤波过程中q和I在边缘处保持一致。
它们的值是通过最小化成本函数E(a k k k,b k k k)获得的,该成本函数被定义如下:
在这里插入图片描述
式中, ϵ \epsilon ϵ是用来约束较大的a k k k的正则化参数,a k k k,b k k k的最佳值计算如下
在这里插入图片描述
在这里,式中的乘法运算为矩阵间的元素积运算, μ \mu μ k k k为滤波窗口的均值,|w|为每个窗口中所有点的数目, g ‾ \overline{g} g k k k同样为g在不同窗口中计算得到的均值。
然而 ϵ \epsilon ϵ是固定的,这会引起在图像某些区域的处理出现不适应性。针对于像素处于图像边缘处或者平滑区域的不同,对于a k k k,b k k k的取值也不同,因此需要选择不同的 ϵ \epsilon ϵ。首先在平滑区域,为了使得到的视差图能够在该区域取得更好的平滑效果,就需要利用 ϵ \epsilon ϵ完成对a k k k的较大约束,因此就需要根据窗口内信息自适应选择较大的 ϵ \epsilon ϵ;而边缘区域,我们需要保留视差图的边缘,所以a k k k的取值则越偏大越好,此时 ϵ \epsilon ϵ选择越小越好。

具体步骤

步骤1:在每个局部小窗口中分别计算a k k k和b k k k。(在计算每个窗口的线性系数时,我们可以发现一个像素会被多个窗口包含,也就是每个像素都由多个线性函数所描述,所以就引出了步骤2)。
步骤2:在所有的局部窗口中对所有点的a k k k和b k k k求平均。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值