动态规划与脉动阵列在立体匹配中的应用
1. 动态规划的反向传播
在立体匹配的动态规划算法里,反向传播前有一个最终确定阶段,此阶段的目的是为反向传播挑选起始点。起始点需是最终列中代价最小的节点。对于左右参考系统,起始点为 𝜂(N - 1, 0);而中心参考系统的起始点可能是 𝜂(2N, 0) 或者 𝜂(0, 0)。
当最终确定阶段完成,反向传播便开始。从右参考系统图像像素的末尾(左参考系统则相反)开始,依次读取指针数组中的指针,并将指针作为结果写入视差图。以下是用 Verilog HDL 实现的代码:
4:
begin: FINALIZATION
//DP finalization
state <= 5;
//go to the next state
pointer <= 0;
//starting pointer
count <= 0;
//reset counter
end
5:
begin: BACKWARD
//DP backward pass
`ifdef LRC //LR reference
if (count < `WIDTH)
begin
pointer <= queue[`WIDTH - 1 - count][pointer];
//recursion
`ifdef LEFT
res[id(0,count,0)] <= queue[`WIDTH - 1 -
超级会员免费看
订阅专栏 解锁全文
16

被折叠的 条评论
为什么被折叠?



