2

我正在做一个项目,我想重建从相机图像中提取的特征点的 3D 位置。这个想法是:

  • 进行相机录制(灰度信息,VGA 尺寸:640 x 480)
  • 提取相机帧中的特征点(我为此使用 SIFT)
  • 将 frame[k-1] 中的特征与 frame[k] 中的特征对应(我打算为此使用 RANSAC,稍后会详细介绍...)
  • 计算/估计这些特征点之间的一些相对距离信息(这将在某些(x,y,z)坐标系中)

我在许多论文中读到 RANSAC 是一种用于重建的算法,最终结果是某种点云。我希望能够做到这一点。然而,我遇到了一些障碍,我希望你们能帮助我解决这些问题。

第一个障碍是我真的不明白如何使用 RANSAC 来执行这个点对应。我理解 RANSAC 作为模型拟合工具的概念,我只是不明白它如何用于进行对应求解。

第二个障碍是,假设我有我的通信信息,如何获得所有这些点之间的某种距离信息。我读过透视投影可以用来解决这个问题,反过来应该尝试估计基本矩阵。然后做一些数学魔术来获得点云​​。关键是,我不明白基本矩阵中的实际值是什么意思。我知道它给出了 2 个摄像机的位置(或者在我的情况下,摄像机正在移动的视频中的 2 帧)之间的数学关系,并且它利用了对极几何。但除此之外,我只是不知道基本矩阵实际上包含什么。这个 3x3 矩阵如何捕获 1 个摄像机相对于另一个摄像机的 6DOF?我也认为“数学魔法”

因此,我的问题是:你们中的任何人都可以指出我正确的方向吗?到目前为止,我一直在挖掘我读过的论文的参考资料,但这些也给了我“我们使用 RANSAC 算法解决这个问题”的意思,我越来越觉得我看错了方向。对这些事情是否有一些很好的解释,也许是外行的术语和/或一些插图?简而言之:我应该在哪里寻找或在哪里可以找到这条难以捉摸的信息?

提前致谢, Xilconic

PS:检查了维基百科,但这对我没有多大帮助。还听了《基础矩阵之歌》,也是同样的故事。

4

3 回答 3

4

写了我的论文,在我的论文中也使用了 RANSAC 算法。

这个主题的内容比这里的几段所能描述的要多。考虑获取优秀的书Multiple View Geometry

障碍 1

RANSAC 会找到一个模型,在这种情况下是基本矩阵F,即使存在大量异常值。在这种情况下,一些点对应候选是很遥远的。这是一个异常值。基本上,您只需从随机绘制的点继续拟合F矩阵。最终,您会找到一些共同创建一致模型的点。这些是内线。它们现在可用于更准确地估计模型 ( F )。

在我的论文中有一个简单的例子,它有一个适合你的例子,可以帮助你入门,还有一个易于理解的 RANSAC 解释应用于对应问题。

障碍 2

F矩阵最重要的一点是,它将一幅图像中的一个点映射到另一幅图像中的一条线

Fx = l ' 其中x是一个图像中的一个点,l ' 是另一个图像中的一条线。

F矩阵有 9 个元素,但必须有2 阶,而且尺度无关紧要,因此它只有 7 个自由度。F矩阵的元素没有简单的解释。

如果您知道相机的内部参数(如焦距),则可以使用点对应x <-> x ' 和F提取所描绘点的世界 3d 坐标X 。

请注意,当使用连续的电影帧时,相机通常很少移动,并且可能很难计算基本矩阵。虽然它可以解决。我建议研究Marc Pollefeys的作品

于 2011-03-02T19:43:33.180 回答
2

查看基本矩阵的维基百科条目中的第一个公式:

在此处输入图像描述

这是您尝试使用 RANSAC 解决的“模型”。您有两个3xn (n>=7)矩阵 xx'它们代表两个图像中所有对应的x,yx',y'(第 3 个坐标始终只是数字 1)。还有一个未知3x3矩阵F,您想找出它的值。维基百科条目中 RANSAC 的伪代码算法是一个很好的解释。

现在,什么是基本矩阵?将图像中的点视为连接相机位置和 3D 空间中该点的 3D 线的一种方法。这条线在两个方向上都无限延伸。如果您使用不同的相机查看该线上的 3D 点,那么在来自该相机的图像中,您会看到一条线穿过它。将图像中的点转换为 3D 线(实际上是投影)只是一个矩阵运算。将 3D 中的线投影到 2D 图像上也是一种矩阵运算。F在一个矩阵中捕获这两个矩阵运算。F也可用于确定两个相机的相机矩阵,然后可用于 3D 重建。

也许这有点帮助?否则,我是从Hartley 和 Zisserman 那里了解到的。

于 2011-03-02T13:30:15.413 回答
1

使用类似 5 点或 8 点算法的基本矩阵的稳健解决方案肯定是一个良好的开端。也就是说,基本矩阵解决方案可能容易受到异常值的影响,您可能需要一些额外的总体系统来进行实际的 3D 求解。您可以使用卡尔曼滤波器类型的方法(快速,可以在嵌入式系统上实时完成)或捆绑调整(非常准确但可能更慢)。

一些优秀的 SFM 软件,您可以使用这些软件或从中汲取灵感:

VSLAM(由斯坦福大学教授 Konolige 开发,同时也在 OpenCV 团队 Willow Garage 工作)。可能是我见过的最快的捆绑调整解决方案。

RSLAM(由 Oxford Mobile Robotics Group 开发,显示出一些优秀的结果)

于 2011-03-03T21:40:08.460 回答