1

高分辨率图像示例的传统解决方案:

  1. 为所有图像提取特征(密集)
  2. 匹配特征以通过图像查找轨迹
  3. 将特征三角化到 3d 点。

对于我的情况,我可以在这里给出两个问题(许多 640*480 图像之间的移动很小),第一:匹配非常慢,特别是如果图像数量很大,所以更好的解决方案是光流跟踪。 ,但随着大动作它变得稀疏,(混合可以解决问题!!)

第二:对轨道进行三角测量,虽然这是一个过度确定的问题,但我发现很难编写解决方案,..(这里要求简化我在参考资料中读到的内容)

我在那个方向搜索了很多库,但没有任何有用的结果。

再次,我有地面实况相机矩阵,并且只需要 3d 位置作为第一次估计(没有 BA),编码软件解决方案可以提供很大帮助,因为我不需要重新发明轮子,尽管详细的说明可能会有所帮助

4

1 回答 1

5

极线搜索

这基本上显示了用于估计深度的基础几何。

正如你所说,我们有相机位姿 Q,我们正在从世界中选择一个点 X,X_L 是它在左侧图像上的投影,现在,使用 Q_L、Q_R 和 X_L,我们能够组成这个绿色的极线平面,即剩下的工作很简单,我们在 (Q_L, X) 线上搜索点,这条线正好描述了 X_L 的深度,假设不同:X1, X2,...,我们可以在正确的图像上得到不同的投影

现在我们比较 X_L 的像素强度差异和右图像上的重投影点,只需选择最小的那个,对应的深度正是我们想要的。

很容易嘿?事实是它更难,图像永远不是严格凸的: 非凸图像

这使得我们的匹配非常困难,因为非凸函数会导致任何距离函数都有多个临界点(候选匹配),你如何确定哪一个是正确的?

然而,人们提出了基于路径的匹配来处理这个问题,例如:SADSSDNCC,它们被引入来创建尽可能凸的距离函数,但仍然无法处理大规模重复纹理问题和低纹理问题.

为了解决这个问题,人们开始在极线中进行长距离搜索,突然发现我们可以将匹配度量的整个分布描述为沿深度的距离。

极地深度分布

横轴是深度,纵轴是matching metric score,这个插图引导我们找到了深度滤波器,我们通常用高斯,又名,高斯深度滤波器来描述这个分布,并用这个滤波器来描述深度的不确定性,结合patch匹配的方法,大致可以得到一个proposal。

现在,让我们使用一些优化工具,如 GN 或梯度下降来最终细化深度估计。

综上所述,深度估计的整个过程大致如下:

  1. 假设所有像素中的所有深度都遵循初始高斯分布
  2. 通过极线开始搜索并将点重新投影到目标框架中
  3. 对深度进行三角测量并从深度滤波器计算深度的不确定性
  4. 再次运行 2 和 3 以获得新的深度分布并与前一个合并,如果它们收敛则中断,否则从 2 重新开始。
于 2019-10-18T20:58:55.743 回答