我知道这肯定存在,但我很难找到正确的搜索词。
假设我有一堆有标记的3D点,我捕捉到了它的多个2D图像。如果我想重建三维点,是否有完善的算法/库来实现这一点?
这大概是三维面部识别的基础,这是一个成熟的研究领域,但一般情况(即非人脸)似乎没有我能找到的明显的文献。
我看到的一种方法是优化问题,其中每个2D图像在每个点之间建立一个最小距离约束,并且可以通过最小化满足这些约束所需的距离来重建三维点。不过,这确实让人觉得这类问题中有一个很难理解的线性代数解。
这类问题有我可以搜索的文献吗?它有现有的库吗?(如果OpenCV里没有东西,我会很惊讶,但我真的不知道我在找什么)
发布于 2019-03-07 04:26:49
你熟悉多视图几何学吗?上面有一本经典的书:哈特利和齐瑟曼的计算机视觉中的多视图几何。wiki关于多幅图像三维重建的文章是一个很好的起点。
本质上,是的,其思想是解决一个优化问题。将对象设为3D中的点集P。在一般情况下,我们有N_C摄像机\{C_i\}_{i=1}^{N_C},这样
其中p_i\in P是齐次坐标下的i第四点,\mathcal{I}是本征摄像机参数矩阵,\mathcal{E}是外部摄像机参数矩阵,q_i是具有图像坐标(x_i,y_i)的i第四投影点。(有关更多信息,请访问相机矩阵和摄像机标定。)
要解决这个问题,取决于你掌握了多少信息(特别是关于相机参数),以及你做了什么假设(例如,透视和正字法投影方程)。注意,可能会有一些不可避免的模糊性,取决于相机/图像的数量和它们的视点,以及相应点的数量/位置。如果你对3D结构本身有一些先验知识,那也可以使用。
在两个视图的情况下,(大名鼎鼎的) 基本矩阵和本质矩阵允许基于极约束的三维点位置的估计 (达到平移缩放)。有了更多的视图,例如,您可以通过三角剖分通过直接线性变换估计进行操作。
一个很好的起点可能是Daniel关于鲁棒多视点重建的论文博士。
现在,完全脱离这一观点,因为经典的计算机视觉问题是机器学习的方法。其思想是补充(或有时取代)多视点几何关系(由于噪声、测量误差等原因而变得脆弱)。用数据驱动的估计。一些起点可能是:
这样的方法可能更符合“数据科学”站点的一般用户:)
请注意,这些方法倾向于假设不知道点向对应关系。这大大增加了问题的难度。然而,在您的例子中,情况似乎并非如此,尽管您还没有给出一个明确的形式化。在查看这些不同的方法时,请记住这一点,因为更简单的方法可能更好。
发布于 2019-02-22 13:53:57
也许是“深度估计”(或者相关的搜索术语,如:从图像中估计深度,从单目估计深度,从立体声中估计深度……)?
目前在这个领域有很多研究。
https://datascience.stackexchange.com/questions/45960
复制相似问题