我正在研究 Structure from Motion。到目前为止,我已经执行了以下步骤,
- 特征匹配
- 基本矩阵
- 基本矩阵
- 相机矩阵P
- 通过三角测量,我得到了所有匹配要素的 Point3d 类型值。我将其存储在 pointcloud 变量中。
我希望,我做对了,但从这里开始我很困惑,无法继续前进。接下来我必须做什么?
最佳答案
假设您的计算在这一点上是正确的,您就完成了两个 View 。
从现在开始,您可以通过多种方式来改进重建:
- 优化(Bundle Adjustment)非常常见,尽管您只有两个 View (带有相机参数)、匹配点对应关系及其 3D 点。
- 计算密集点云,例如使用 cmvs或 incremental computation
- 在图像之间添加更多具有更多点对应(或轨迹)的 View 。为此,您可以使用 Perspective-n-Point problem 的解决方案之一。 .据我所知,RANSAC 论文中假定的方法 (P3P) 非常常见。如需更多信息,请参阅原文 RANSAC paper或来自 Changchang Wu 的信息.
对于最后一个点,优化点和相机参数非常重要,以便为添加的下一个 View 获得良好的解决方案。否则,您会看到重建过程中出现漂移。
关于c++ - 在 Structure from Motion 中进行三角剖分后,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31587734/