计算摄像机矩阵P
1.基本方程
最小配置解
矩阵 有12 个元素和(忽略缩放因子)11个自由度,所以解 需要11个方程。给定这个最小数目的对应时,解是精确的,即空间的点准确地投影到它们被测量的图像上。
超定解
如果由于点坐标的噪声导致数据不精确并且给定 组点对应, 那么 将不存在精确解。 的解可以通过最小化一个代数或几何误差来获得。求 的最小值,可能的约束是:
- ,其中 是由 最后一行的前三个元素组成的矢量
退化配置
- 摄像机中心和点都在一条三次绕线上。
- 这些点都在一张平面和包含摄像机中心的一条直线的并集上。
数据归一化
当点到摄像机的深度变化相对比较小时,采用同样类型的归一化。 因此, 把点的形心平移到原点,并对它们的坐标进行缩放使它们到原点的RMS(均方根)距离等于 。适用于点紧致分布的情形。
直线对应
3D 中的直线可以用它通过的两点
和
来表示。由图像直线
反向投影得到的平面为
。那么点
在该平面上的条件是:
2.几何误差
图像中的几何误差是:
其中 是被测量的点, 是点 ,即 在 作用下的精确的图像点.如果测盘误差满足高斯分布,那么
解是 的最大似然估计。
世界点有误差
几何误差定义为:
如果世界和图像点的误差都考虑:
表示误差协方差矩阵的Mahalanobis 距离。
代数误差的几何解释
假定所有的点
在
算法中已经归一化,
算法要最小化的量是:
其中 , 可以解将成点 沿主轴方向到摄像机的深度,要最小化的代数误差等于
变换不变性
在约束
,下最小化
可以解释成最小化
几何距离。这样既不受
空间也不受图像空间的相似变换的影响。
仿射摄像机的估计
上面有关射影摄像机推导的方法可以直接用于仿射摄像机。仿射摄像机定义为射影矩阵的最后一行是 的摄像机。.仿射摄像机的 估计是在 的最后一行满足上述条件下最小化 。
3.受限摄像机估计
在关于摄像机参数的限制条件下寻求一个最适配的摄像机矩阵 。 通常的限制是:
- 扭曲 为零
- 像素是正方形:
- 主点 已知
- 整个摄像机标定矩阵 已知
最小化几何误差
假定我们强调约束 和 ,用余下的9 个参数来参数化摄像机矩阵。几何误差可以用迭代最小化方法相对于这组参数来最小化。
最小化代数误差
考虑把参数集 映射到摄像机矩阵 的参数化映射 ,最小化所有点匹配的代数误差等价于最小化
简化的测量矩阵
一般, 的矩阵 可能有很多行。但可用一个 的矩阵 代替A,使得对任何矢量 有 。
初始化
求摄像机初始参数的一种途径是:
- 用诸如 的线性算法求出一个初始的摄像机矩阵
- 把固定参数强制到所希望的取值范围
- 把摄像机矩阵分解所获得的初始值赋给参数变量
外部校准
为了计算外部校准,需对世界坐标位置准确已知的一个配置进行影像。之后求摄像机的姿态。在机器人系统的手眼标定中求摄像机位置就是这样的情形;还有在采用配准技术的基于模型的识别中,需要知到物体相对摄像机的位置。
协方差估计
假定所有的误差仅发生在图像测量中, ML 残差期望值等于:
其中 主要拟合的摄像机参数数目(对完整的针孔摄像机模型是11) 。给定一个残差, 该公式也可以用来估计点测量的准确性。
4.径向失真
用
标记在理想(非失真)针孔投影下点以焦距为测量单位的坐标。对一点
有:
其中
是摄像机坐标下的
点,实际的投影点通过一个径向位移与理想点关联。因此,径向(透镜)失真的模型是:
其中:
- 是理想图像位置(遵循线性投影)
- 经径向失真后的实际图像的位置
- 为到径向失真中心的径向距离
- 是一个失真因子,它仅仅是半径 的函数
失真矫正
在像素坐标中,失真矫正记为:
- 是测量的坐标
- 是矫正后的坐标
- 是径向失真的中心且 注意如果长宽比不是1 ,那么在计算 时必须对它进行矫正。
失真函数和中心的选择
函数
仅当
为正值时有定义并且
。一个任意函数
的逼近可以由泰勒展开式
。
是径向矫正的系数。主点经常被用作径向失真的中心,虽然它们未必完全重合。
计算失真函数
函数 可以通过最小化一个基于映射的线性偏差的代价函数来计算。失真函数可以作为影像过程的一部分, 把参数 与 一起在几何误差的最小化迭代中计算。