相机标定实践2-参数优化

本文介绍了相机标定的过程,包括生成标定板、拍摄照片、识别角点坐标、计算单应性矩阵等步骤。重点讲解了如何通过SVD分解求解内参矩阵和外参,并提及实际情况下可能存在的噪声问题,以及如何使用最大似然估计进行优化。同时,讨论了透镜径向畸变的考虑,特别是k1和k2参数的优化,通常采用LM算法进行迭代求解。

相机标定
参数优化
1.生成标定板
2.拍摄标定板照片10~20张
3.识别每张照片中标定板角点
4.获取每张照片中标定板角点的像素坐标uv和世界坐标xy
5.计算每张照片的单应性矩阵Hi
6.构造每张照片的Vi,构建V=[V1;V2;…Vi…]
7.svd分解V,求解B和内参矩阵A和尺度因子s

[u, s, v]=svd(V);
 b=v(:,6);
     v0=(b(2)*b(4)-b(1)*b(5))/(b(1)*b(3)-b(2)^2);
    s=b(6)-(b(4)^2+v0*(b(2)*b(4)-b(1)*b(5)))/b(1);
    alpha_u=sqrt(s/b(1));
    alpha_v=sqrt(s*b(1)/(b(1)*b(3)-b(2)^2));
    skewness=-b(2)*alpha_u*alpha_u*alpha_v/s;
    u0=skewness*v0/alpha_u-b(4)*alpha_u*alpha_u/s;
    A=[alpha_u skewness u0
        0      alpha_v  v0
        0      0        1]

8.每张照片使用同一个A,然后优化各自的外参R,T
实际情况下,数据中是存在噪音的,所以计算得到的旋转矩阵R并不一定能满足旋转矩阵的性质。所以通常根据奇异值分解来得到旋转矩阵R。

上述的推导结果是基于理想情况下的解,从理论上证明了张氏标定算法的可行性。但在实际标定过程中,一般使用最大似然估计进行优化。假设我们拍摄了n张标定图片,每张图片里有m个棋盘格角点。三维空间点X在图片上对应的二维像素为x,三维空间点经过相机内参M,外参R,t变换后得到的二维像素为x’,假设噪声是独立同分布的,我们通过最小化x, x’的位置来求解上述最大似然估计问题:
在这里插入图片描述
现在我们来考虑透镜畸变的影响,由于径向畸变的影响相对较明显,所以主要考虑径向畸变参数,根据经验,通常只考虑径向畸变的前两个参数k1,k2就可以(增加更多的参数会使得模型变的复杂且不稳定)。实际求解中,通常把k1,k2也作为参数加入上述函数一起进行优化,待优化函数如下所示

在这里插入图片描述
上述非线性优化问题通常用Levenberg-Marquardt(LM)算法进行迭代求解。一般将k1,k2初值设为0。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值