立体匹配学习笔记4-step2代价聚合

代价聚合也有很多方法比如:

(1)方框滤波(Box filtering)

类似于均值滤波,计算速度快,但是对边缘的敏感度差。

(2)双边滤波(Bilateral filter)

就是对窗口内像素进行距离加权和亮度加权。双边滤波是一种可以保边去噪的滤波器,之所以可以达到此去噪效果,是因为滤波器是由两个函数构成。一个函数是由几何空间距离决定滤波器系数,另一个由像素差值决定滤波器系数。

(3)十字交叉域代价聚合(Cross-Based Cost Aggregation,CBCA)

基于一个假设:相邻的颜色相近的像素有相近的视差值。如果参与聚合的像素和被聚合的像素具有相同的视差值,那么聚合的可靠性会更高。基于此,CBCA的目标是找到像素p周围和其颜色相近的像素,并以某种规则将它们的代价值聚合到p的代价上。这样的结果也就是他的聚合范围并非一个固定规则的窗口。

(4)半全局Semi-Global Matching(SGM)

着重讲SGM的代价聚合。

一开始接触的时候,总是分不清代价计算,代价聚合,视差估计这些东西,因为好像这些都是一个步骤内的啊,我代价都计算出来了不就直接得到视差了吗?后来仔细看原理,写代码后发现还是要分步的。

可以这样理解:1、代价计算 = 根据单一的计算公式粗略的获取一个像素点的代价向量(这个代价  是一个列向量,长度为视差),最终组成一个代价立方体(代价立方体也是代价计算的最终产物)。

                         2、代价聚合 = 在代价立方体的基础上,根据每个像素附近像素的代价向量进行考量,将附近的代价向量通过特定公式聚合至该像素的代价向量上。形成最终聚合后的代价立方体。此时的代价立方体,才是后面视差估计用的代价立方体。

                                                                         图一

如图一(一张古老的图,截图来截图去都糊了嘿嘿)所示,描述的是SGM的聚合路径。

(1),(2),(3),(4)为4路径聚合。

1.2.3.4.5.6.7.8为8路径聚合。

然后还有红色的16路。  路数越多 时间损耗越大,效果不一定很好。

一般来说选4或者8,其实4的效果差差不多了,选4速度还快了一倍。

具体的代码以及公式。参考链接:https://zhuanlan.zhihu.com/p/208513239

 还是很不错的~理解了聚合和代价的区别,再看这篇就差不多理解了。

双目立体匹配入门【一】(理论)_双目交会_凳子花❀的博客-CSDN博客

当然还有其他聚合的方法~大家可以多去了解查查。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值