摄像机标定就是求摄像机矩阵$P$, 当我们知道足够多的$X \leftrightarrow x$, 我们如何计算$P$?
最基本的方法就是简历方程$PX=x$, 然后变成$x \times PX = 0$ 取该矩阵前两行, 因为第三行是线性相关的. 这样可以写成$Ap=0$,这就是一个$2n \times 12$的矩阵.
最小解 因为$P$是$3 \times 4 = 12$个元素, 那么就有11个自由度, 理论上我们需要5.5对对应点就行, 0.5对对应点就是知道x或者y坐标就可以了
超定的情况 如果我们有多于6对点, 那我们就求$min||Ap||=0$, 并且让他满足约束$||p||=1$,
- 相机和点都在一个扭曲的立方体上
- 相机和点都在平面上, 且该平面一直线通过相机的中心
点的归一化 我们需要把所有点到直线的平均距离归一化到$\sqrt{3}$
从线对应来计算P 如果我们能找到一对对应线, 那么我们就有以下方程$l^TPX_j=0$, 其中$X$在$l$上
回忆我们在第四章提到的几何损失函数, 我们可以把它用在这里 $$ \min_P \sum d(x,PX)^2 $$
世界坐标系里得误差 我们考虑世界坐标系, 也就是标定板上的误差. 因为$PX$不可能完全等于$x$, 反过来,$x$对应的世界坐标系里的点, 也不会完全是$X$, 那么我们就假设$x$对应的世界坐标系里的点是$\hat{X}$, 然后我们同时考虑世界坐标系的误差, 和图像上的误差
也就是说在图像上$x$要靠近$P \hat{X}$, 在世界坐标系里$X$也要靠近$P \hat{X}$
一句话: 代数误差找一个点$X'$尽可能的接近$X$
一句话: 上述所有方法都可以直接用在仿射摄像机上
通常我们会对P矩阵做出一些限制
- 偏斜系数s时\是0
- 像素是正方形
- 主点已知
- K已知.
这几点假设不是同时成立的, 比方说我们可以只用1和2, 那么P矩阵就只剩下3+6=9个系数了
迭代方法的初始化, 如果我们求几何损失函数, 得用迭代的方法. 那么迭代得初值从哪里来? 可以用DLT 先解出一个值作为初始值.
相机畸变主要是径向畸变,所谓径向就是圆的直径的方向. 该畸变会使正方形变得接近于一个圆, 所以叫径向畸变.
校正的思想很简单. 所谓畸变, 就是给像素坐标$(x,y)$乘上一个函数$L(r)$, 该函数长什么样, 不太清楚, 但是我们用泰勒展开去近似它就好了, 剩下的工作就是确定泰勒展开的系数. 这个展开的系数作为内参, 把他们一起标定出来就可以.