高分辨率图像示例的传统解决方案:
对于我的情况,我可以在这里给出两个问题(许多 640*480 的图像,彼此之间的移动很小),第一个 :匹配非常慢,特别是如果图像数量很大,所以更好的解决方案可以是光流跟踪..,但是随着大 Action 它变得稀疏,(混合可以解决问题!!)
第二 :对轨道进行三角测量,虽然这是一个过度确定的问题,但我发现很难编写解决方案,..(这里要求简化我在引用资料中读到的内容)
我在那个方向搜索了很多库,但没有任何有用的结果。
同样,我有地面实况相机矩阵,并且只需要 3d 位置作为第一次估计(没有 BA),
编码的软件解决方案可以提供很大帮助,因为我不需要重新发明轮子,尽管详细的说明可能会有所帮助
最佳答案
这基本上显示了用于估计深度的基础几何。
正如你所说,我们有相机位姿 Q,我们正在从世界中选择一个点 X,X_L 是它在左侧图像上的投影,现在,使用 Q_L、Q_R 和 X_L,我们能够组成这个绿色的极线平面,即剩下的工作很简单,我们在 (Q_L, X) 线上搜索点,这条线正好描述了 X_L 的深度,假设不同:X1, X2,...,我们可以在正确的图像上得到不同的投影
现在我们比较 X_L 的像素强度差异和右图像上的重投影点,只需选择最小的那个,对应的深度正是我们想要的。
很容易嘿?事实是它更难,图像永远不是严格凸的:
这使得我们的匹配非常困难,因为非凸函数会导致任何距离函数都有多个临界点(候选匹配),你如何确定哪一个是正确的?
然而,人们提出了基于路径的匹配来处理这个问题,方法如下:SAD , SSD , NCC ,它们被引入以创建尽可能凸的距离函数,但它们仍然无法处理大规模重复纹理问题和低纹理问题。
为了解决这个问题,人们开始在极线中进行长距离搜索,突然发现我们可以将匹配度量的整个分布描述为沿深度的距离。
横轴是深度,纵轴是匹配度量分数,这个插图引导我们找到了depth filter ,而我们通常用高斯,又名,高斯深度滤波器来描述这个分布,并用这个滤波器来描述深度的不确定性,结合patch匹配的方法,我们可以大致得到一个proposal。
现在,让我们使用一些优化工具,如 GN 或梯度下降来最终细化深度估计。
综上所述,深度估计的整个过程大致如下:
关于opencv - 如何在 OpenCV 中从具有已知姿势的多个图像中稳健地进行 3d 重建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51991271/