4个视图中的6个点的三角测量

问题描述 投票:0回答:1

我有一个对象的4个不同视图,每个视图都有相应的K和M摄像机矩阵(内部和外部参数)。

我有6个3D点,我在每个2D视图上标记(所以24个2d点)。

我想要做的是将这些2D点反投影到3D并在空间中获得我的6个3D点。

大多数论文都展示了当你有2个视图及其矩阵时如何做到这一点。但是,我有4个观点。我在Python中使用OpenCV。

作为第一种方法,也许我可以使用2个视图的所有组合进行三角测量,因此我得到4choose2 = 6组3D点,然后我对所有三角测量进行平均。

有更好的方法更合适吗?你认为我应该使用OpenCV以外的东西吗? (它仍然必须是Python)

computer-vision opencv3.0 triangulation vision
1个回答
1
投票

我看到了两个解决方案。

1.分析解决方案

如果进行数学运算,您会发现每个2D到3D的对应关系都会为三角测量系统增加2个方程式。通过6个视图,您将获得一个包含12个方程和3个未知数的系统。这应该是最有效的实现,但是当预期有噪声输入时可能不稳定。

2.三角测量+优化

使用经典的2-View三角测量计算估计的3D点。使用非线性优化来计算最小化所有6个视图的重投影错误的3D点。这是我推荐的解决方案,因为它应该是稳定的,并且所有内容都已在OpenCV中实现。

© www.soinside.com 2019 - 2024. All rights reserved.