优化多台摄像机的立体声校准过程

时间:2017-11-10 02:29:26

标签: opencv camera computer-vision camera-calibration 3d-reconstruction

背景

为简单起见,我有3个相机。它们中的每一个都由它自己校准(其空隙参数已知且足够准确)

他们都分享着几乎相同的观点。我想使用这个3相机系统进行3D重建。我已经单独校准每对(1& 2,2& 3和1& 3)。由此产生了3个转换矩阵。 从理论上讲,这3个转换矩阵应具有以下优点:

T13 = T12 * T23 

或其他公式:

 T31 * T12 * T23 = Identity

然而,实际上,事实并非如此。由于校准误差,结果从相同的矩阵稍微偏移。

Error = [T31 * T12 * T23] - [Identity]        Eq.3

问题:

我觉得单独校准每对相机是个坏主意。通过应用某种全局优化,将整个三对融合在一起,试图最小化等式(3)的误差应该会给出更好的结果。

我的问题是:

此问题是否有任何已知的先前工作。任何想法如何使用OpenCV来实现我的目标,所以我不再重新发明轮子。

1 个答案:

答案 0 :(得分:4)

嗯,当然很多相机的组合在过去都是联合校准的(你是否观看了Matrix'子弹和#34;效果?这是Manex团队的工作方式第一:https://www.youtube.com/watch?v=uPNBdDNZbYk

您可以使用初始成对校准作为一轮束调整的初始化点。最好在所有图像中的几个相机中使用刚性3D对象(不是平面"棋盘"目标,你需要深度),并且使用跨越视野和深度的许多图像。利益。如果它是一次性项目,可以在具有良好GUI的半自动工具中轻松完成图像匹配和捆绑。我过去曾经令人满意地使用Blender(www.blender.org)完成这些任务。在线查看使用Blender进行matchmoving的教程。