我目前正在做一个项目,在这个项目中,我必须估计使用单目相机检测到的2D感兴趣点的三维坐标。
更准确地说,我输入了一个图像序列(校准),当接收到新的图像时,需要在左(前)图像和右(当前)图像之间的点进行三角剖分,以获得三维点。
为了做到这一点,我遵循以下步骤:
当我在图像上重新投影它们时,得到的3D点是不正确的。但是,我已经读到三角点被定义为一个不确定的标度因子。
因此,我的问题是:在这种情况下,“达到规模”意味着什么?在场景的世界坐标框架中获得真实的三维点的解决方案是什么?
我会感谢你的帮助!
发布于 2014-05-22 14:19:28
您可能会有错误或错误估计的基本矩阵。未知的缩放因子不能对你看到的重建误差负责。无论整体尺度如何,将一个三维点投影到图像对上的结果应该是一致的,该三维点是通过良好匹配和有效的基本矩阵来估计的。
在这种情况下,“量纲化”的意思是,即使有内在校准的相机,估计基本矩阵的标准方法也会产生同样的结果,如果你用一个场景来代替你的场景,在这个场景中,一切都是大的或小的,都是一样的。您也可以消除这种歧义。
发布于 2014-05-26 10:38:32
我的工作经验是使用基本Matrx/基本矩阵提取点云,这会导致不同的点云大小。我是怎么理解的?因为基本矩阵/基本矩阵是有效的,如果
x1^t *F* x2 = 0。
当F的尺度发生变化时,这个方程也是有效的。所以我们没有尺度不变性。
真正有效的是从存在的点云中提取出新的摄像机位置,这是从以前的图像对中计算出来的。为此,您还记得之前的2D 3D图像对应。它被称为透视点相机姿态估计(PnP)。OpenCV在这方面有一些方法。
以下是从运动中得出的结构的一些结论:
Structure from Motion, Reconstruct the 3D Point Cloud given 2D Image points correspondence
https://stackoverflow.com/questions/23784589
复制相似问题