这基本上显示了用于估计深度的基础几何。
正如你所说,我们有相机位姿 Q,我们正在从世界中选择一个点 X,X_L 是它在左侧图像上的投影,现在,使用 Q_L、Q_R 和 X_L,我们能够组成这个绿色的极线平面,即剩下的工作很简单,我们在 (Q_L, X) 线上搜索点,这条线正好描述了 X_L 的深度,假设不同:X1, X2,...,我们可以在正确的图像上得到不同的投影
现在我们比较 X_L 的像素强度差异和右图像上的重投影点,只需选择最小的那个,对应的深度正是我们想要的。
很容易嘿?事实是它更难,图像永远不是严格凸的:
这使得我们的匹配非常困难,因为非凸函数会导致任何距离函数都有多个临界点(候选匹配),你如何确定哪一个是正确的?
然而,人们提出了基于路径的匹配来处理这个问题,例如:SAD、SSD、NCC,它们被引入来创建尽可能凸的距离函数,但仍然无法处理大规模重复纹理问题和低纹理问题.
为了解决这个问题,人们开始在极线中进行长距离搜索,突然发现我们可以将匹配度量的整个分布描述为沿深度的距离。
横轴是深度,纵轴是matching metric score,这个插图引导我们找到了深度滤波器,我们通常用高斯,又名,高斯深度滤波器来描述这个分布,并用这个滤波器来描述深度的不确定性,结合patch匹配的方法,大致可以得到一个proposal。
现在,让我们使用一些优化工具,如 GN 或梯度下降来最终细化深度估计。
综上所述,深度估计的整个过程大致如下:
- 假设所有像素中的所有深度都遵循初始高斯分布
- 通过极线开始搜索并将点重新投影到目标框架中
- 对深度进行三角测量并从深度滤波器计算深度的不确定性
- 再次运行 2 和 3 以获得新的深度分布并与前一个合并,如果它们收敛则中断,否则从 2 重新开始。