3. 单相机标定基础:张正友标定法原理、棋盘格/圆点标定板设计、单应性矩阵求解、内参外参分离优化

单相机标定是3D视觉的基石,其核心目标是从二维图像中恢复相机的内参(焦距、主点、畸变)和外参(旋转、平移)。张正友标定法(Zhang’s Method)因其操作简便、精度高,成为工业界和学术界最广泛使用的标定方法。本节将深入剖析其原理、标定板设计、单应性矩阵求解以及内参外参的分离优化策略。

3.1 张正友标定法核心原理

张正友标定法利用一个平面标定板(如棋盘格或圆点阵列),通过拍摄多张不同姿态的标定板图像,建立2D图像点与3D世界点之间的投影关系。其核心思想是:先通过单应性矩阵(Homography)求解内参的线性初值,再通过非线性优化(如Levenberg-Marquardt)精化所有参数(包括畸变系数)。

关键假设:标定板平面位于世界坐标系 Z=0 平面,且标定板上的特征点(角点或圆心)坐标精确已知。

整个流程可概括为以下步骤:

  1. 采集图像:从不同角度拍摄标定板(至少3张,建议10-20张)。
  2. 特征提取:提取棋盘格角点或圆点圆心坐标(亚像素精度)。
  3. 计算单应性矩阵:对每张图像,求解世界平面到图像平面的单应性矩阵 H。
  4. 求解内参初值:利用单应性矩阵的约束条件,线性求解内参矩阵 K。
  5. 求解外参初值:根据内参和单应性矩阵,计算每张图像的外参(R, t)。
  6. 非线性优化:考虑镜头畸变,对所有参数进行全局优化,最小化重投影误差。
实践建议:标定图像应覆盖视场的各个区域(中心、边缘、角落),且标定板平面与成像平面之间的夹角应大于45度,以提高标定精度。

3.2 标定板设计:棋盘格 vs. 圆点标定板

标定板是标定精度的物理基础。棋盘格和圆点标定板是两种最常用的类型,各有优劣。

特性 棋盘格标定板 圆点标定板
特征点类型 角点(黑白格交界处) 圆心(圆形阵列中心)
提取精度 亚像素角点检测,精度高 椭圆拟合圆心,受透视畸变影响较大
鲁棒性 对光照变化、模糊较敏感 对光照变化、部分遮挡更鲁棒
制作难度 易于打印,成本低 需要高精度打印,确保圆度
适用场景 高精度标定、学术研究 工业现场、大视场角标定

设计关键参数:

  • 棋盘格:内角点数量建议为 9x6 或 11x8;方格边长需精确测量(如 30mm)。
  • 圆点标定板:圆点数量建议为 7x7 或 11x9;圆点直径与间距比例建议为 1:2 或 1:3;需确保圆心距精确已知。
  • 材质:使用哑光纸或铝基板,避免反光;对于高精度标定,建议使用陶瓷或玻璃基板。
棋盘格与圆点标定板特征提取对比 棋盘格标定板 角点 圆点标定板 圆心

3.3 单应性矩阵求解

单应性矩阵 H 描述了世界平面(Z=0)到图像平面的透视变换。对于标定板上的每个特征点,其投影关系为:

s * [u, v, 1]^T = K * [r1, r2, t] * [X, Y, 1]^T = H * [X, Y, 1]^T

其中,H 是一个 3x3 的矩阵(自由度为8,因为尺度因子 s 可归一化)。

求解步骤:

  1. 构建线性方程组:每对匹配点 (X, Y) ↔ (u, v) 提供两个方程,至少需要4对点(无共线三点)即可求解 H。
  2. 直接线性变换(DLT):将 H 的9个元素作为未知数,构建 Ah=0 的齐次线性方程组,通过 SVD 分解求解最小二乘解。
  3. 归一化:在 DLT 之前,对图像坐标和世界坐标进行平移和缩放归一化,可显著提高数值稳定性。
  4. 非线性精化:以 DLT 结果为初值,使用 Levenberg-Marquardt 算法最小化重投影误差,得到更精确的 H。
注意:单应性矩阵 H 是内参 K 和外参 [r1, r2, t] 的混合体。H 的求解质量直接影响后续内参和外参的分离精度。务必确保特征点提取的亚像素精度。

3.4 内参外参分离优化

得到每张图像的 H 后,需要从中分离出内参 K 和外参 (R, t)。张正友标定法利用旋转矩阵的正交性(r1^T r2 = 0 且 ||r1|| = ||r2|| = 1)来建立约束方程。

内参求解(线性初值):

  • 将 H 分解为 H = [h1, h2, h3] = λK[r1, r2, t]。
  • 利用正交约束:h1^T K^{-T} K^{-1} h2 = 0 和 h1^T K^{-T} K^{-1} h1 = h2^T K^{-T} K^{-1} h2。
  • 令 B = K^{-T} K^{-1}(对称矩阵),上述约束可转化为关于 B 的线性方程组。通过多张图像(至少3张)的约束,可线性求解 B,再通过 Cholesky 分解得到 K。

外参求解:

  • 得到 K 后,对每张图像:r1 = λK^{-1}h1, r2 = λK^{-1}h2, r3 = r1 × r2, t = λK^{-1}h3。
  • 其中 λ = 1/||K^{-1}h1|| = 1/||K^{-1}h2||。由于噪声,计算出的 R 可能不满足正交性,需通过 SVD 或 QR 分解将其投影到最接近的正交旋转矩阵。

全局非线性优化:

线性求解得到的参数只是初值,还需考虑镜头畸变(径向畸变 k1, k2 和切向畸变 p1, p2)。最终优化目标是最小化所有图像上所有特征点的重投影误差:

min Σ Σ || u_ij - u_hat(K, R_i, t_i, k1, k2, p1, p2, X_j) ||^2

使用 Levenberg-Marquardt 或 Bundle Adjustment 算法进行迭代优化,得到最终的高精度标定结果。

张正友标定法内参外参分离优化流程 输入:多张标定板图像 特征提取(角点/圆心) 计算单应性矩阵 H 线性求解内参 K 初值 求解每张图像外参 (R, t) 全局非线性优化(含畸变) 输出:精化内参 + 外参

3.5 标定结果评估与验证

标定完成后,必须对结果进行定量评估,以确保其可靠性。

评估指标 计算方法 合格标准
重投影误差 所有特征点的像素误差均方根(RMS) < 0.5 像素(高精度)
< 1.0 像素(可接受)
内参稳定性 多次标定结果的焦距、主点标准差 焦距偏差 < 1%,主点偏差 < 5 像素
畸变系数合理性 径向畸变 k1, k2 的数值大小 k1 通常在 [-0.5, 0.5] 之间,k2 在 [-0.2, 0.2] 之间
外参一致性 不同图像间标定板平面法向量的夹角 与测量值偏差 < 2°
验证技巧:使用标定结果对一张新拍摄的标定板图像进行重投影,观察棋盘格角点是否精确落在投影点上。也可以将标定板放置在已知距离处,验证三维重建的尺度精度。