您熟悉多视图几何吗?有一本经典的书:Hartley 和 Zisserman在计算机视觉中的多视图几何。一个很好的起点是关于从多个图像进行 3D 重建的 wiki 文章。
本质上,是的,这个想法是解决优化问题。设对象为点集磷在 3D 中。在一般情况下,我们有ñC 相机 {C一世}ñC我= 1, 这样
q一世=一世ķ乙ķp一世
(X一世,是的一世) = (q我1/q我3,q我2/q我3)
在哪里p一世∈ P是个一世齐次坐标中的第 th 点,一世是相机的内在参数矩阵,乙是外部相机参数矩阵,并且q一世是个一世具有图像坐标的投影点(X一世,是的一世). (查看相机矩阵和相机校准了解更多信息。)
解决这个问题取决于你有多少信息(特别是关于相机参数)和你做了什么假设(例如透视与正交投影方程)。请注意,可能存在一些不可避免的歧义,具体取决于相机/图像的数量及其视点,以及对应点的数量/位置。如果您对 3D 结构本身有一些先验知识,也可以使用。
在双视图情况下,(大名鼎鼎的)基本矩阵和基本矩阵允许基于对极约束估计 3D 点位置(直至平移缩放) 。对于更多视图,例如可以通过直接线性变换估计进行三角测量。
一个不错的起点可能是Daniel Martinec 的关于稳健多视图重建的博士论文。
两个潜在感兴趣的库是OpenCV和OpenMVG。
现在,与经典计算机视觉问题完全不同的是机器学习方法。这个想法是用数据驱动的估计来补充(或有时替换)来自多视图几何的几何关系(由于噪声、测量误差等可能很脆弱)。一些起点可能是:
我想,这种方法可能更符合“数据科学”网站的普通用户:)
请注意,这些方法倾向于假设不知道逐点对应。这使问题变得更加困难。但是,在您的情况下,情况似乎并非如此,尽管您没有给出明确的形式化。在查看这些不同的方法时请记住这一点,因为更简单的方法可能更可取。