本文主要大部分是对 ZHANG Z. A flexible new technique for camera calibration[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2000, 22(11): 1330-1334.的解释
相机模型
相机模型主要用于描述相机的像素平面坐标系和世界三维坐标系之间的坐标映射关系。相机成像的模型可以用下图表示,以透镜的光心作为空间光线的三维坐标系,坐标系的Z轴垂直与成像平面即图像传感器的平面。
可以简单地认为相机成像平面坐标系下的二维点是由相机坐标系下的三维坐标点投影而来,即物体点的XY坐标与成像点的XY坐标之间分别存在相同的比例关系,满足如下等式,其中f为成像焦距
相机成像平面坐标
世界三维坐标系下的点
结合上述方程可以列出世界坐标系下的点到像素坐标系下的转换关系
一般可以将前两个矩阵写为一个3*4的矩阵,这里记为
标定算法
标定算法就是用于求解上面相机模型的参数,或者说通过一定的手段测量出相机的参数。可通过人工构造已知的特征点,将像素坐标系与三维空间坐标点对
单应性矩阵求解
针对特征点的构造,目前主要有棋盘格图样和圆形网格图样,这两种网格图样的获得相对简单,得到的特征点为三维世界坐标系下共面的网格点,并且网格的宽度已知。另外棋盘格除了特征较为明显容易定位外,通过计算棋盘格格子边缘对应直线的方程再求解交点可以实现亚像素级的顶点定位,在标定时能够尽可能精确地获取角点位置。
考虑到网格点在三维世界中共面,不妨以垂直该平面方向为Z轴定义世界坐标系,这样标定图样上所有世界坐标都可以表示为
令
消去方程中的
同一图像上多个点可扩展上述方程左侧矩阵的行,通过联立若干个点求其最小二乘解即可获得矩阵
内外参数分离
将求解出的矩阵
同时根据旋转向量的性质可以得到方程
令对称矩阵
代入上述方程可得
考虑到方程中的任意大小缩放因子
求解该方程需要至少三张图片的相机单应性矩阵
求解出内参矩阵
这里求解出的三个旋转向量再重组为旋转矩阵
该问题的解为
标定误差验证
摄影机标定参数的准确程度可以用重投影误差表示,即在求解出所有参数后代入重新计算三维空间的点在像素坐标系下的位置,与原始图片中角点位置比较偏差大小,误差越小说明标定的精确程度越好。消去求解单应性矩阵方程中的
对于上述重投影的点坐标,计算其与对应原坐标点