1. 张正友相机标定法
1.1 相机内的参数
设P=(X,Y,Z)P=(X,Y,Z)为场景中的一点,在针孔相机模型中,其要经过以下几个变换,最终变为二维图像上的像点p=(μ,ν)p=(μ,ν):
- 将PP从世界坐标系通过刚体变换(旋转和平移)变换到相机坐标系,这个变换过程使用的是相机间的相对位姿,也就是相机的外参数。
- 从相机坐标系,通过透视投影变换到相机的成像平面上的像点p=(x,y)p=(x,y)。
- 将像点pp从成像坐标系,通过缩放和平移变换到像素坐标系上点p=(μ,ν)p=(μ,ν)。
相机将场景中的三维点变换为图像中的二维点,也就是各个坐标系变换的组合,可将上面的变换过程整理为矩阵相乘的形式:
将矩阵KK称为相机的内参数,
其中,α,βα,β表示图像上单位距离上像素的个数,则fx=αf,fy=βffx=αf,fy=βf将相机的焦距ff变换为在x,y方向上像素度量表示。
另外,为了不失一般性,可以在相机的内参矩阵上添加一个扭曲参数γγ,该参数用来表示像素坐标系两个坐标轴的扭曲。则内参数KK变为
1.2 张氏标定法
在张氏标定法中,用于标定的棋盘格是三维场景中的一个平面ΠΠ,其在成像平面的像是另一个平面ππ,知道了两个平面的对应点的坐标,就可以求解得到两个平面的单应矩阵HH。其中,标定的棋盘格是特制的,其角点的坐标是已知的;图像中的角点,可以通过角点提取算法得到,这样就可以得到棋盘平面ΠΠ和图像平面ππ的单应矩阵HH。
通过上面的相机模型有:
其中pp是像点坐标,PP是标定的棋盘坐标。 这样就可以得到下面的等式:
HH表示的是成像平面和标定棋盘平面之间的单应矩阵。通过对应的点对解得HH后,则可以通过上面的等式得到相机的内参数KK,以及外参旋转矩阵RR和平移向量tt。
1.3 实现步骤
- 打印一张棋盘格A4纸张(黑白间距已知),并贴在一个平板上
- 针对棋盘格拍摄若干张图片(一般10-20张)
- 在图片中检测特征点(Harris特征)
- 利用解析解估算方法计算出5个内部参数,以及6个外部参数
- 根据极大似然估计策略,设计优化目标并实现参数的refinement
1.4 原理
了解坐标系:世界坐标系 、相机坐标系 、图像坐标系 、像素坐标系
(1)计算外参:
s: 世界坐标系到图像坐标系的尺度因子
-
A: 相机内参矩阵
- 像主点坐标
α, β: 焦距与像素横纵比的融合
γ: 径向畸变参数
有:
2D 图像点:
3D 空间点:
其次坐标:
所以描述空间坐标到图像坐标的映射(标定用的棋盘格平面到图像平面的单应性关系):
不妨设棋盘格位于Z = 0 定义旋转矩阵R的第i列为, 则有:
于是空间到图像的映射可改为:
其中H 是描述单应性矩阵,可通过最小二乘法,从角点世界坐标到图像坐标的关系求解
该单应性矩阵有8个自由度
(2)计算内参
根据b的定义,可以推导出如下公式
可以推导出