目的
- 标定出像素坐标系和相机坐标系的转换关系
- 验证该关系误差
利用数据
- 大约二十张不同姿态棋盘格图片
算法原理
2.像素到相机坐标系转换关系(再到世界)
- 像素转图像坐标系、图像坐标系到相机坐标系
像素和图像坐标系如下图(dx,dy为每像素占x多少)
- 图像坐标系到相机坐标系如下图(单孔成像模型)
- 像素到相机坐标系
- 像素到世界用旋转平移矩阵(没什么好说的,下面说一下应用)
1.构建把A转换到B的矩阵
旋转矩阵:先建立B坐标系的xyz单位向量,利用xyz单位向量建立3*3的旋转矩阵(第一列是x),然后在再求逆才是把A转换到B的旋转矩阵(还没手动推导证明)。
平移向量:A坐标系的原点在B中的坐标(还没手动推导证明)
2.利用A转换到B的矩阵求B转换到A的矩阵
利用分块矩阵求逆得
3 求解内参矩阵
刚体变换和内参相乘应该是44的,但是因为像素坐标系z=0,所以先求解33的矩阵(单应矩阵)。
由
得到
考虑方程的自由度,由于上述关系中的h乘任意相同的k都不改变关系式,那么都除以h33也没问题,所以h33=1,那么自由度只剩下8个。
那么只需要四对点则能求出单应矩阵,然后转换成Ax=0,x向量各元素既是我们要求的各元素,使用svd对矩阵进行分解,最小的特征值就是解
7.2 单应矩阵求解内参外参
利用
得到
令
得到
使用svd求得b。
再用cholesky分解得到内参(只知道分解两个上下三角矩阵)
7.3 进行最大似然估计
由于数据存在噪声,求得的结果有误差,采用最大似然估计进行优化,优化步骤:
- 我们希望利用结果得到的点和真实点误差越小越好,建立函数
希望它服从正太分布,因为该概率密度函数在等于0时概率最大
极大似然估计函数
希望其取得最大值
则求下式最小值
使用多参数非线性系统优化问题的Levenberg-Marquardt算法[2]进行迭代求最优解。
知识点补充
1.牛顿法
牛顿法的优点是收敛速度快,缺点是需要求矩阵的逆,计算量比较大
2.梯度法
梯度下降实际上只利用了一阶导数,也就是梯度带来的信息,因为如此,我们将会看到在某些情况下,梯度下降是一种效率很低的,极端情况下甚至无效的优化方法
3. 高斯-牛顿法
详情网址
就是在牛顿法上 不需要计算hessian矩阵了,利用雅可比矩阵可以得到hessian矩阵
4.LM算法