从多个视图进行 3D 重建

Posted

技术标签:

【中文标题】从多个视图进行 3D 重建【英文标题】:3D Reconstruct from multiple view 【发布时间】:2015-02-15 21:23:07 【问题描述】:

我有一个计算机视觉问题重构:

我用未校准的相机拍摄了多视图(据我所知,有 fx = fy = f, s=0,并且参数不变)

我可以从不同视图匹配的点都位于一个共同的平面上。 我还可以从场景中匹配 4 条不同的线(比如说 L1,L2,L3,L4

这样:L1 与 L2 平行,L3 与 L4 平行,L1 与 L3(和 L4)正交...

我有足够的视图(9)和足够的点(6 没有 4 行的角)。

我想使用所有我写的信息来减少噪音,并且我被要求用标准化图像(我不知道这意味着什么)计算所有内容以减少数值错误。

还给出了两个匹配点之间的距离。

需要:重构场景(全部6个3D点),r重构相机内参(ux,vx,f),重建图像的相机位置

所以。

我研究了 8Point 算法,但该算法(如果我理解良好的话)它只适用于两个视图,而且,它不适用于平面上的点。

我研究了 4Point 算法,该算法适用于位于同一平面上的点,但它只需要两个视图(我想使用所有视图) 并且不涉及线。然后另一个问题是我不明白如何从 P 重建 R 和 T(这是基本的,如果我很好地理解重建相机的位置)。

我研究了一个迭代模型,你可以在这篇论文中找到:

3D Reconstruction with Uncalibrated Camera

但我无法(我什至不知道它是什么)在 matlab 中执行 4 级分解。

我当然不要求你给我一个详细的解决我的问题,显然,但我当然想知道至少我应该采取哪种方式以正确的方式解决我的问题,然后我可以google 更多,我可以学习更多。

感谢大家的宝贵时间

【问题讨论】:

仅供参考,sfmedu 是从两个视图递归实现的。 vision.princeton.edu/courses/SFMedu它的代码可以帮助你。 【参考方案1】:

您有足够的数据来校准相机。阅读,例如 Z. Zhang 的paper。

【讨论】:

以上是关于从多个视图进行 3D 重建的主要内容,如果未能解决你的问题,请参考以下文章

如何从多个 IP 数据包重建 TCP 流?

|欧特克锻造 |将 RVT 导出到多个 3D 视图中

COLMAP简介及通过2D序列图像进行3D重建操作流程

如何使用立体视觉对室内环境进行准确的 3D 重建?

多个 OpenGL 上下文/视图

用照片进行三维模型重建