最近在项目中需要在激光雷达(Lidar)和相机(Camera)之间进行标定,即需要标定出相机内参和外参,使用的标定方法是张正友标定法,这里给出其数学理论推导过程。
论文原文:《A Flexible New Technique for Camera Calibration》
论文翻译:https://blog.csdn.net/humanking7/article/details/46689293
参考资料:https://blog.csdn.net/hongbin_xu/article/details/78965037
目录
1.基本方程
这里参考原论文的符号规定,2维点表示为:,三维点表示为:。
对应的齐次表示为: ,。则三维点和二维点之间的关系可以写为:。
其中:
为任意比例因子,都是相机外参,用于将外界坐标通过旋转和平移操作转换为相机坐标。为旋转矩阵,为平移向量。A是相机内参,是坐标的主点,和是图像在轴和轴的比例因子,是描述两个坐标轴亲倾斜角的参数(如果两个坐标轴相互垂直,则=0,默认为0)。
2.标定平面到图像平面的单应性(Homography)
设的第列旋转矩阵为,那么可以表示为:
代入原方程中:
不失一般性,假设标定平面在世界坐标系中Z坐标为0,则方程简化为:
同理,齐次坐标此时为:。
因此点和它在图像上的映射点之间的关系可以使用单应矩阵H来表示:
很显然,是一个维度为3×3的矩阵。其中为内参矩阵,为外参矩阵。
3.内参约束条件
令,则有:
其中中λ是任意的标量。
因为旋转矩阵的每一列两两正交,即与正交,可以得到两个约束条件:
从前面的公式可的方程组:
可以推导出:
代入可得:
也即:
对于矩阵来说,它是一个3×3的矩阵,有9个参数,那么就有8个自由度。对应的外参有6个(旋转矩阵有3个,平移向量有3个)。下面我们来求解相机标定参数。
4. 求相机标定参数
为方便讨论,定义:
且已知,则:
则为:
不难发现是对称的,我们可以使用6个变量来表示出。定义一个6维向量:
令的第列,对于,则有:
代入,则上式简化为:
其中:
回到我们前面推导出的约束条件:
这两个约束条件可以改写为齐次形式:
用一个新的矩阵来表示这两个式子:
如果观察了n张图片,那么可以得到n个方程V⋅b=0。我们想要解出b,b是一个6维向量,要求出唯一解,则至少需要6个方程。一个V⋅b=0有2个约束条件,那么要求出唯一解,至少需要3个V⋅b=0,即至少需要3张图片(n≥3)。
如果求出了唯一解,那么就可以得到,那就也可以求出相机内参。
下面直接给出结果:
利用内参矩阵求解外参矩阵
从前面的方程已知:
可得外参:
整理可得:
至此,已经求出了相机的外参和内参。在张正友论文还讨论了畸变参数和极大似然估计,博客里没有深入探讨。