使用极线几何在3D三角测量中进行扩展

时间:2014-05-21 13:25:40

标签: 3d computer-vision ransac

我目前正在开展一个项目,我必须估算使用单目相机检测到的2D兴趣点的3D坐标。

更准确地说,我输入了一个图像序列(已校准),当接收到新图像时,需要对左(上)图像和右前图像之间的点进行三角测量以获得3D点。 / p>

为此,请执行以下步骤:

  1. 提取当前图像中的关键点
  2. 建立当前和上一张图像之间的对应关系
  3. 使用RANSAC和高点算法计算基本矩阵E
  4. 从E
  5. 中提取变换矩阵R和平移向量T.
  6. 通过正交回归使用三角测量计算3D点
  7. 当我在图像上重新投影时,生成的3D点不正确。但是,我已经读过,三角测量点的定义仅限于不确定的比例因子。

    所以我的问题是: 什么"达到规模"意味着在这种情况下?什么是在场景的世界坐标系中获得真实3D点的解决方案?

    我会感谢任何帮助!

2 个答案:

答案 0 :(得分:1)

您可能有一个错误或估计不足的基本矩阵。未知比例因子不能对您看到的重建错误负责。无论全球规模如何,投影到图像对上的结果都是从良好匹配和有效基本矩阵估计的3d点应该是一致的。

"达到规模的意义"在这种情况下,即使使用经过校准的摄像机,如果您将场景替换为一个大小相同的场景,那么估算基本矩阵的标准方法会产生相同的结果。您可以在事后删除此歧义,例如通过在场景中识别已知物理大小的对象,并强制计算出的3D重建与该大小匹配。

答案 1 :(得分:0)

使用基于Matrx / Essential矩阵提取Point Cloud的Structure from Motion的经验导致了不同的Point Cloud大小。我是如何理解的,因为基本的Matrx /基本矩阵是有效的,如果

x1 ^ t * F * x2 = 0.

如果F的比例发生变化,该等式也有效。所以我们没有尺度不变性。

真正有效的是从之前的旧图像对计算的现有点云中提取新的相机位置。为此你已经记住了以前的2D 3D相关图像。它被称为PerspectivenPoint Camera Pose Estimation(PnP)。 OpenCV有一些方法。

以下是关于运动结构的一些结论:

Structure from Motion, Reconstruct the 3D Point Cloud given 2D Image points correspondence