首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于二维图像的三维点重构

基于二维图像的三维点重构
EN

Data Science用户
提问于 2019-02-21 14:38:33
回答 2查看 2.8K关注 0票数 3

我知道这肯定存在,但我很难找到正确的搜索词。

假设我有一堆有标记的3D点,我捕捉到了它的多个2D图像。如果我想重建三维点,是否有完善的算法/库来实现这一点?

这大概是三维面部识别的基础,这是一个成熟的研究领域,但一般情况(即非人脸)似乎没有我能找到的明显的文献。

我看到的一种方法是优化问题,其中每个2D图像在每个点之间建立一个最小距离约束,并且可以通过最小化满足这些约束所需的距离来重建三维点。不过,这确实让人觉得这类问题中有一个很难理解的线性代数解。

这类问题有我可以搜索的文献吗?它有现有的库吗?(如果OpenCV里没有东西,我会很惊讶,但我真的不知道我在找什么)

EN

回答 2

Data Science用户

回答已采纳

发布于 2019-03-07 04:26:49

你熟悉多视图几何学吗?上面有一本经典的书:哈特利和齐瑟曼的计算机视觉中的多视图几何wiki关于多幅图像三维重建的文章是一个很好的起点。

本质上,是的,其思想是解决一个优化问题。将对象设为3D中的点集P。在一般情况下,我们有N_C摄像机\{C_i\}_{i=1}^{N_C},这样

q_i = \mathcal{I}_k\mathcal{E}_k p_i
(x_i,y_i)=(q_{i1}/q_{i3},q_{i2}/q_{i3})

其中p_i\in P是齐次坐标下的i第四点,\mathcal{I}是本征摄像机参数矩阵,\mathcal{E}是外部摄像机参数矩阵,q_i是具有图像坐标(x_i,y_i)i第四投影点。(有关更多信息,请访问相机矩阵摄像机标定。)

要解决这个问题,取决于你掌握了多少信息(特别是关于相机参数),以及你做了什么假设(例如,透视正字法投影方程)。注意,可能会有一些不可避免的模糊性,取决于相机/图像的数量和它们的视点,以及相应点的数量/位置。如果你对3D结构本身有一些先验知识,那也可以使用。

在两个视图的情况下,(大名鼎鼎的) 基本矩阵本质矩阵允许基于极约束三维点位置的估计 (达到平移缩放)。有了更多的视图,例如,您可以通过三角剖分通过直接线性变换估计进行操作。

一个很好的起点可能是Daniel关于鲁棒多视点重建的论文博士

潜在感兴趣的两个库是OpenCVOpenMVG

现在,完全脱离这一观点,因为经典的计算机视觉问题是机器学习的方法。其思想是补充(或有时取代)多视点几何关系(由于噪声、测量误差等原因而变得脆弱)。用数据驱动的估计。一些起点可能是:

这样的方法可能更符合“数据科学”站点的一般用户:)

请注意,这些方法倾向于假设不知道点向对应关系。这大大增加了问题的难度。然而,在您的例子中,情况似乎并非如此,尽管您还没有给出一个明确的形式化。在查看这些不同的方法时,请记住这一点,因为更简单的方法可能更好。

票数 3
EN

Data Science用户

发布于 2019-02-22 13:53:57

也许是“深度估计”(或者相关的搜索术语,如:从图像中估计深度,从单目估计深度,从立体声中估计深度……)?

目前在这个领域有很多研究。

票数 0
EN
页面原文内容由Data Science提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://datascience.stackexchange.com/questions/45960

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档