相机标定 - (02) - 相机标定步骤与原理

目录

2 相机标定步骤

2.1 张正有标定操作步骤

2.2 张正有标定原理


2 相机标定步骤与原理

参考文章:三步骤详解张正友标定法_谜之_摄影爱好者的博客-CSDN博客

        1998年,张正友提出了基于二维平面靶标的标定方法,使用相机在不同角度下拍摄多幅平面靶标的图像,比如棋盘格的图像,然后通过对棋盘格的角点进行计算分析来进行相机标定(求解相机的内外参数)。

2.1 张正有标定操作步骤

(1) 张正友标定方案使用平面标志物,通常是规整的棋盘格或者点阵图,通常情况下为了方便区分图片中棋盘格朝向,我们一般使用宽高不同的棋盘格。

不同标定板的优缺点:

  • 棋盘格本身存在角点检测不精确的问题。
  • 圆点检测更精确,但是会存在偏心误差

相机标定 - (02) - 相机标定步骤与原理_第1张图片

相机标定 - (02) - 相机标定步骤与原理_第2张图片

相机标定 - (02) - 相机标定步骤与原理_第3张图片

会存在偏心误差

(2)准备好棋盘格后,使用待标定相机拍摄不同角度多组标定图案

  • 拍摄15~20张不同角度照片(按照标定的理论三张图片就可以完成标定,但是为了减小标定误差,拍摄图片会稍微多一些)
  • 标定图案需要保证平整
  • 每张图片中标志物尽量占据画面1/4以上,
  • 拍摄时应尽量保证相机参数不变(拍摄过程不要采用自定对焦方式,也不要改变焦距)
  • 保证拍摄图案清晰,无明显模糊(由于圆点在模糊情况不会改变其中心点位置,精度理论上会更好一些)
  • 拍摄图案的总和需要覆盖整个画面

(3)使用标定工具进行标定计算

2.2 张正有标定原理

第一步:对每一幅图像得到一个映射矩阵(单应矩阵)H

        一个二维点用m=(u,v)^{T}表示,一个三维点可以用M=(X,Y,Z)^{T}表示,其增广矩阵(齐次坐标表示)为\widetilde{m}=(u,v,1)^{T}以及\widetilde{M}=(X,Y,Z)^{T}。三维点与其投影图像点之间的关系为:

s\widetilde{m}=A(R,t)\widetilde{M}

式中,s为任意标准矢量,A矩阵为相机内参;R(旋转矩阵),t(平移向量)为外参

式中(u_{0},v_{0})是相机在图像坐标系的主点,\alpha\beta是图像上uv坐标轴的尺度因子,\gamma表示图像坐标轴的垂直度(取决于相机制造工艺,好的为0)。

假定模板平面在世界坐标系Z=0的平面上,则有:

s\begin{bmatrix} u\\ v\\ 1 \end{bmatrix}=A\bigl(\begin{smallmatrix} r_{1} & r_{2} & r_{3}&t\end{smallmatrix}\bigr)\begin{bmatrix} X\\ Y\\ Z\\ 1 \end{bmatrix}=A\bigl(\begin{smallmatrix} r_{1} &r_{2} & t \end{smallmatrix}\bigr)\begin{bmatrix} X\\ Y\\ 1 \end{bmatrix}

在标定模板(棋盘格)平面上的齐次坐标\widetilde{M}=(X,Y,1),而\widetilde{m}=(u,v,1)是棋盘格平面上的点投影到摄像机的成像(图像平面)对应点的齐次坐标。

此时,可以得到一个3*3的矩阵:H=\bigl(\begin{smallmatrix} h_{1} &h_{2} & h_{3} \end{smallmatrix}\bigr)=\lambda A\bigl(\begin{smallmatrix} r_{1} & r_{2} & t \end{smallmatrix}\bigr)

利用单应矩阵可得内参矩阵A的约束条件为   h_{1}^{T}A^{-T}A^{-1}h_{2}=0

第二步:利用约束条件线性求解内参矩阵A

        假设存在:

B=A^{-T}A^{-1}=\begin{bmatrix} B_{11} &B_{12} & B_{13}\\ B_{21}&_{22} &B_{23} \\ B_{31}&B_{32} & B_{33} \end{bmatrix}

式中,B为对称矩阵,基于绝对二次曲面原理求出B以后,再对B矩阵求逆,并从中导出内参矩阵A,再由A和单应矩阵H计算外参R和t,公式如下:

\left\{\begin{matrix} r_{1}=\lambda A^{-1}h_{1}\\ r_{2}=\lambda A^{-1}h_{2} \\ r_{3}=r_{1}\cdot r_{2}\\ t=\lambda A^{-1}h_{3} \end{matrix}\right.

第三步:最大似然估计

        采用最大似然准则优化上述参数。假设图像有n幅,模板平面标定点有m个,则最大似然估计值就可以通过最小化以下公式得到:

\sum_{i=1}^{n}\sum_{j=1}^{m}\left \| m_{ij}-m(A,k_{1},k_{2},R_{i},t_{i},M_{j}) \right \|^{2}

式中,m_{ij}为第 j 个点在第 i 幅图像中的像点;R_{i}为第 i 幅图像的旋转矩阵;t_{i}为第 i 幅图像的平移向量;M_{j}为第 j 个点的空间坐标;初始估计值利用上面线性求解的结果,径向畸变系数k_{1}k_{2}初始值为0。

相机标定 - (02) - 相机标定步骤与原理_第4张图片

你可能感兴趣的:(c++,算法,计算机视觉)