两个校准相机的 3D 重建 - 这条管道中的错误在哪里?

3D reconstruction from two calibrated cameras - where is the error in this pipeline?

关于从已知内部校准的立体视图进行 3D 重建的帖子有很多,其中一些是 excellent。我已经阅读了其中的 lot,并且根据我所阅读的内容,我正在尝试使用以下管道/算法计算我自己的 3D 场景重建。我会把方法列出来,然后在底部提出具体问题。

0。校准你的相机:

1.基本矩阵 F:

2。基本矩阵 E:

3。 E 的内部约束:

4.全相机投影矩阵:

5. 3D 三角剖分

问题:

The error in my fundamental matr1ix estimation is significantly worse when using RANSAC than the 8pt algorithm, ±50px in the mapping between x and x'. This deeply concerns me.

使用8pt算法不排除使用RANSAC原则。 直接使用8pt算法时用到哪些点?您必须自己选择8个(好)点。

理论上你可以从任何点对应计算出一个基本矩阵,你经常得到一个退化的基本矩阵,因为线性方程不是独立的。还有一点就是8pt算法使用了一个超定的线性方程组,这样一个单独的异常值就会破坏基本矩阵。

您是否尝试过使用 RANSAC 结果?我打赌它代表了 F.

的正确解决方案之一

My F matrix is apparently accurate (0.22% deflection in the mapping compared to typical coordinate values), but when testing E against x'Ex = 0 using normalised image correspondences the typical error in that mapping is >100% of the normalised coordinates themselves. Is testing E against xEx = 0 valid, and if so where is that jump in error coming from?

同样,如果F是退化的,x'Fx = 0可以为每个点对应。

你不正确 E 的另一个原因可能是相机的开关(K1T * E * K2 而不是 K2T * E * K1)。记得检查:x'Ex = 0

'Enforcing the internal constraint' still sits very weirdly with me - how can it be valid to just manufacture a new Essential matrix from part of the decomposition of the original?

Hartley 和 Zisserman 在 'Multiple View Geometry in Computer Vision' 中对此进行了解释。据我所知,它与 F 的 Frobenius 范数的最小化有关。

可以Google,而且还有pdf资源。

Is there a more efficient way of determining which combo of R and t to use than calculating P and triangulating some of the normalised coordinates?

据我所知没有。

My final re-projection error is hundreds of pixels in 720p images. Am I likely looking at problems in the calibration, determination of P-matrices or the triangulation?

你的刚体变换P2不正确,因为E不正确。