- 2.0.0.201803
Caliboy ver. 2.0.0.201803 的标定算法为基于张正友方法的OpenCV实现.
基本步骤
1. 估计内部参数
1.1. 求取各图像对应的单应矩阵H_i;
1.2. 由所有H_i联合求中间变量B=(K^-T)*(K^-1),并由B分解得到相机内参.此处旨在初步估计内部参数,即主要为像素焦距.故K的主点位置设置为图像中心,即K仅有fx和fy两个未知数.B的公式将得到极大的简化,相应地由B计算fx和fy也十分简单.
2. 估计相对位置
1.1. 根据初步估计的内参矩阵K计算归一图像坐标并在此基础上再次求取各图像对应的单应矩阵H_i;
1.2. H_i中直接包含相对位置信息[R_i|t_i];
1.3. 通过最小化重投影误差初步优化[R_i|t_i](采用LevMarq,迭代20次).
3. LevMarq优化
通过最小化重投影误差以获得最后优化结果.
相关说明
1. OpenCV相机标定模型中无畸变因子s的估计;
2. 由于不考虑畸变因子,在将主点位置设定为图像中心(不进行估计)的条件下,内参矩阵仅有fx和fy两个未知数,故一幅图像也能求得一个内存矩阵;
3. OpenCV标定实现中可以估计高阶畸变参数[k4,k5,k6],但这些系数误差较大且实际作用不明显,故未采用这些参数.