当前位置:   article > 正文

对于SGM算法代价聚合的理解_sgm代价聚合计算过程

sgm代价聚合计算过程

聚合函数
这个聚合函数会给人一种错觉,假设求视差d下的p点的聚合代价就得求前一个点视差d-1,d,d+1…的聚合代价,然后又得求前前一个点的聚合代价。这样求下去就是指数级别的运算。实际上这里需要利用动态规划的思想,从第一个点开始计算而不是简单的递归。
比如我们的视差范围d是5-10。聚合路径是从左到右,如下图。
在这里插入图片描述

我们从a点开始计算,利用初始代价即可,然后比较出最小值,假设d=6时代价值最小。则b点的聚合代价就是L1=Cost(d(a)=6)+Cost(d(b)=5)+P1,L2=Cost(d(a)=6)+Cost(d(b)=6),L3=Cost(d(a)=6)+Cost(d(b)=7)+P1,L4=Cost(d(a)=6)+Cost(d(b)=8)+P2,L5=Cost(d(a)=6)+Cost(d(b)=9)+P2,
L6=Cost(d(a)=6)+Cost(d(b)=10)+P2。
min(L1,L2,L3,L4,L5,L6)即为b点的最优聚合代价,假设算出来L3(也就是d=7)最小,c点的聚合代价L1=Cost(d(a)=6)+Cost(d(b)=7)+P1+Cost(d©=5)+P2,剩下的以此类推就行。最后算出p点的聚合代价后暂时不计算最小值,等到所有路径下p点的聚合代价都计算出来后按照d=5,d=6…相加后再统一比较大小,即可算出p点的最优视差。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/596395
推荐阅读
相关标签
  

闽ICP备14008679号