优化多个相机的立体校准过程
Optimizing the stereo calibration process on multiple cameras
背景:
为简单起见,我有 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 来实现我的目标,这样我就不会重新发明轮子了。
嗯,过去当然有很多台摄像机联合校准过(你看过The Matrix中的"bullet shot"效果吗?是这样的首先由 Manex 的团队完成:https://www.youtube.com/watch?v=uPNBdDNZbYk )
您可以使用您的初始成对校准作为一轮束调整的初始化点。最好使用在所有图像中的多个相机中可见的刚性 3D 对象(不是平面 "checkerboard" 目标,您需要具有实际深度的目标),并使用跨越视野和深度的许多图像出于兴趣。如果它是一次性项目,图像匹配和捆绑可以在具有良好 GUI 的半自动工具中轻松完成。过去,我曾令人满意地使用 Blender (www.blender.org) 来完成这些任务。在线查找有关使用 Blender 进行匹配移动的教程。
背景:
为简单起见,我有 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 来实现我的目标,这样我就不会重新发明轮子了。
嗯,过去当然有很多台摄像机联合校准过(你看过The Matrix中的"bullet shot"效果吗?是这样的首先由 Manex 的团队完成:https://www.youtube.com/watch?v=uPNBdDNZbYk )
您可以使用您的初始成对校准作为一轮束调整的初始化点。最好使用在所有图像中的多个相机中可见的刚性 3D 对象(不是平面 "checkerboard" 目标,您需要具有实际深度的目标),并使用跨越视野和深度的许多图像出于兴趣。如果它是一次性项目,图像匹配和捆绑可以在具有良好 GUI 的半自动工具中轻松完成。过去,我曾令人满意地使用 Blender (www.blender.org) 来完成这些任务。在线查找有关使用 Blender 进行匹配移动的教程。