转自https://blog.csdn.net/tiantangzixue/article/details/79878996
张正友标定法属于二次标定,空间点与图像点
的线性关系:
S为任意的非零尺度因子,其中A为3*3的矩阵,,
。
主要思想是由不同的图片,计算出相机的内部参数矩阵和畸变参数,再具体到每张图片确定R、T。
计算步骤:
一、计算单映矩阵H
1)H矩阵性质
,有
,H有9个未知数,
为常数因子,由R的正交性,可得约束方程
,
有
2)H求解步骤
求解H是非线性最小二乘问题,可以用梯度法、高斯牛顿法、LM等。
H的计算式使实际像素坐标与根据对应关系计算的
之间误差最小。对上述公式变形:
,
,
有,
,由
,
有
,
,
当给定n对点时,可得到上述n组方程组,改写成的形式。令
,表示线性方程组,且x具有8个未知数,需要4对点可以解出。若
表示超定方程组,形成一个超定方程组,选择最优解。
对于线性齐次方程组一般三种求解:
1)非齐次线性解:先设定x的一个元,通常为1,利用伪逆求解。
2)齐次解:SVD分解求解
3)非线性集合解:原理是使测量值与理想值之间的欧式距离最小,通过LM等非线性优化迭代方法求解。
鉴于以上分析,在计算x时可以先使用SVD或伪逆求解,由于每张图像控制点大于4,所以可将上述所得解作为初值,再使用LM法优化求精。
预处理对图像像素坐标和世界坐标分别归一化处理
处理过程:
1)计算u、v两轴上的质心坐标,即图像坐标所有点的中心坐标,
2)将质心坐标取代原先的原点坐标
3)计算质心坐标到原点的平均值,
4)计算放缩因子:
5)变换为,其中
6)同理,可求得归一化的世界坐标系,设变换矩阵
2、求解相机随机参数矩阵
,
,
由相机内参数的基本约束,令
由
,
令,有
,其中
为对应列向量,此处
区别之前矩阵中的i行j列,此处表示
矩阵中,第i列的列向量
的第j行的元素,
,对应方程组:
,由m个方程组叠加,可得
,其中V为的
矩阵。
若,b可在相差一个尺度因子的意义下唯一确定。如果
,可在加上一个附加约束参数
为0,对应方程
。
上述方程组的解可通过最小特征值对应的特征向量,或SVD分解求b。
3、计算相机内部参数
当b求解出后,可以构造出B,有两种方法可求出内部参数。
1)Cholesky矩阵分解,先求出,再求逆得A
2)在相差一个尺度因子下。令,由绝对二次曲线的性质,很容易取出相机的内参数:
在标准情况下,有
实际情况下:
1)实际计算中,齐次方程组求解相差一个尺度因子,可求
可得
2)
可得,可知
为归一化系数。
以此类推,可得:
4、求出每幅图像的单映矩阵和上一步的计算结果求每一幅图像的外参数,A求出后,可以得到外参数矩阵,有
由,有
此处的尺度因子。由于图像带有噪声,此时解得的
并不能完全满足旋转矩阵的性质,因此从给定的矩阵求解一个最佳旋转矩阵。此处的最佳指最佳旋转矩阵与原始旋转矩阵差的F-范数最小,即设最佳旋转矩阵Q,目标函数
,满足
。
5、由原始公式
已知A、R、T,剩余s可由具体每一幅图片计算,可最小二乘得出,。
6、非线性优化相机内外参数
已得到相机内部参数矩阵与外部参数矩阵,但只是粗糙解,可通过最大似然估计对所有参数进行非线性优化,进一步取精,目标函数为:
此处取n幅图片,每张图片提取m个控制点,其中为点
在第i幅图像上的投影,因为旋转矩阵只有三个自由度,由三个欧拉角参数确定,
是旋转矩阵的罗德里克表示,关系为:
7、引入畸变系数并计算初值
本文建立的像差模型采用Heikkila模型,该模型有5个畸变参数。定义五维向量为径向与切向畸变系数,因为
对应的阶次较高,在实际标定过程中认定其为0。
与
分别为理想和实际的归一化图像坐标,
与
分别为理想和实观测的图像坐标,未归一化。
可直接表示
8、非线性优化上述所得参数。