5

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

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

为此,我按照以下步骤操作:

  1. 提取当前图像中的关键点
  2. 建立当前图像和前一个图像之间的对应关系
  3. 使用 RANSAC 和高度点算法计算基本矩阵 E
  4. 从 E 中提取变换矩阵 R 和平移向量 T
  5. 通过正交回归使用三角测量计算 3D 点

当我将它们重新投影到图像上时,生成的 3D 点不正确。但是,我读过三角点被定义为只能达到一个不确定的比例因子。

所以我的问题是:在这种情况下,“按比例”是什么意思?在场景的世界坐标系中获得真实 3D 点的解决方案是什么?

如果有任何帮助,我将不胜感激!

4

2 回答 2

1

您可能有错误或估计不佳的基本矩阵。未知比例因子不能对您看到的重建错误负责。无论全局尺度如何,将根据良好匹配估计的 3d 点投影到图像对上并具有有效基本矩阵的结果应该是一致的。

在这种情况下,“按比例缩放”的含义是,即使使用校准的相机,如果将场景替换为所有内容都更大或更小相同数量的场景,估计基本矩阵的标准方法也会产生相同的结果。您可以在事后消除这种歧义,例如通过在场景中识别已知物理尺寸的对象,并强制计算的 3d 重建与该尺寸匹配。

于 2014-05-22T14:19:28.590 回答
0

我使用 Structure from Motion 使用 Fundamental Matrx/Essential Matrix 提取点云的经验会导致不同的点云大小。我的理解是因为基本的矩阵/基本矩阵是有效的,如果

x1^t * F * x2 = 0。

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

真正有效的是从现有的点云中提取新的相机位置,该点云是之前从旧图像对计算的。为此,您之前还记得图像的 2D 3D 对应。它被称为 PerspectivenPoint Camera Pose Estimation (PnP)。OpenCV 有一些方法。

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

Structure from Motion,给定 2D 图像点对应关系重建 3D 点云

于 2014-05-26T10:38:32.377 回答