Hum*_*awi 4 camera opencv computer-vision 3d-reconstruction camera-calibration
背景:
为简单起见,我有3台相机。其中每个都由其自己校准(其间隙参数是已知且足够准确的)
他们都有几乎相同的观点。我想使用3台摄像机的系统进行3D重建。我已经分别校准了每对(1和2、2和3以及1和3)。从而产生3个变换矩阵。从理论上讲,这三个变换矩阵应具有以下适当性:
T13 = T12 * T23
Run Code Online (Sandbox Code Playgroud)
或采用其他公式:
T31 * T12 * T23 = Identity
Run Code Online (Sandbox Code Playgroud)
但是,实际上,这是不正确的。由于校准误差,结果与相同的矩阵有一点点偏移。
Error = [T31 * T12 * T23] - [Identity] Eq.3
Run Code Online (Sandbox Code Playgroud)
问题:
我觉得单独校准每对相机是一个坏主意。通过应用某种将三对全部融合在一起的全局优化,尝试使方程式(3)的误差最小,应该会得到更好的结果。
我的问题是:
关于此问题是否有任何已知的先前工作。任何想法如何使用OpenCV来实现我的目标,因此我不再赘述。
好吧,当然,过去很多摄像机的设置都是联合校准的(您是否看过《黑客帝国》中的“子弹射击”效果?这是Manex团队首先通过以下方式完成的:https://www.youtube。 com / watch?v = uPNBdDNZbYk)
您可以将初始的成对校准用作一轮束调整的初始化点。最好在所有图像中使用在多个摄像机中可见的刚性3D对象(不是平面“棋盘”目标,您需要具有实际深度的目标),并使用跨越视场和感兴趣深度的许多图像。如果是一次性项目,则可以使用具有良好GUI的半自动工具轻松完成图像匹配和捆绑。过去,我令人满意地将Blender(www.blender.org)用于这些任务。在线查找有关使用Blender进行比对的教程。