基于图像的三维重建——稠密重建准备(8)

三 维 重 建 流 程

在这里插入图片描述

稠 密 重 建 整 体 框 架

  openMVS稠密重建整体框架如上图所示,其输入为图像、位姿以及稀疏点云,输出深度图以及稠密点云。

深 度 图 计 算

>代码流程图

在这里插入图片描述

>数据准备

>>图像映射

  这一步的目的主要是跳过无效的、未标定的或被丢弃的图像。具体如下图所示:

>>邻域帧选择

  这一步主要是给每个参考图像选择有用的邻域帧,这个邻域帧就是我们用来做匹配的帧,合适的选择策略可以提升重建效果,所以这一步非常重要。
  邻域帧的选择策略有共视点f在两个图像V,R的夹角 ω \omega ωN,f在两个图像中分辨率的相似性 ω \omega ωs,f在两个图像中覆盖的面积最小值area,分数计算如下式:
    
   ω \omega ωN的表现形式如下图所示:

  选择这三个条件的原因主要有:a.两个view靠的越近,越不能提供一个足够大的baseline来重建高精度模型,因此,通过共视点夹角来间接判断两个view的baseline是否足够大;b.两个图像的分辨率如果差别比较大,立体匹配时是有问题的,所以选择邻域帧,与当前帧分辨率是否一致也是一个重要的因素;c.重建时,图像的分辨率越高重建的效果越好,故以共视点覆盖的图像面积也作为重要参考条件。
  上面的公式 ω \omega ωa(f,Vi,Vj) = min((a/amax)2,1),角度阈值amax默认10,角度低于这个值分数越低,2次方的目的是为增强角度下降带来的影响。这个公式中并没有对角度远大于10做限制,原因是特征点计算时已经对大角度处理过了,角度比较大时是没有共视特征点的。

>>最佳邻域帧选择

  在上一步计算中,每张图像都选出nMaxViews个邻域帧,现在需要给每张图像选择一个最佳邻域来求解深度图。所以现在求解的问题是:每个view(node)都有n个邻域(label),优化目标是给每个node选择一个label使得整体能量最小。这个label就是我们最终给每个view分配的最佳邻域帧。这个问题就是马尔可夫随机场的labeling问题(能量最优)。这个能量最小优化问题能量函数构造如下:
  Markov Random Field能量函数:
  
  公式中Y是标签(label),X是节点(node)。UnaryCost:之前计算的score,用平均score归一化后的值。PairwiseCost:惩罚两个node的label相同的情况即不鼓励任意两个的view的邻域相同。
  
  通常的求解方案有:1.TRW: Tree-reweighted Message Passing; 2.BP: Belief Propagation。参考论文为《convergent tree-reweighted message passing for energy minimization》

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值