4. 相机标定实战
在视觉定位与运动平台闭环补偿系统中,相机标定的质量直接决定了像素坐标到物理坐标映射的可信度。如果内参和畸变系数存在偏差,即使后续的亚像素边缘提取再精确,补偿量也会被系统性地放大或扭曲。本节围绕张正友标定法的实现逻辑、畸变模型的选择依据、标定板的制作规范以及精度评价方法展开,目标是让读者能够独立完成一次可复现、可评价的相机标定。
张正友标定法的核心逻辑
张正友标定法(Zhang's method)的本质是利用平面棋盘格在不同姿态下提供的多组单应矩阵,先线性求解相机内参的初始值,再通过最大似然估计对全部参数进行非线性优化。其数学链条可以概括为:世界坐标系中的棋盘格角点已知,通过单应矩阵 H 将平面点映射到图像点,而 H 又由内参矩阵 K 和外参 [R|t] 构成。由于旋转向量 r1、r2 正交且模长相等,可以从多个 H 中构造出关于 K 的约束方程,从而解出焦距、主点等内参。
实际操作中,我们并不需要手写这些方程,但理解其约束来源有助于判断标定结果是否合理。例如,当标定图像数量过少或姿态变化过于单一时,正交约束不足,焦距和主点之间会出现耦合,表现为重投影误差看似很小,但实际定位时误差随距离迅速增大。因此,张正友标定法的“实战”关键不在于算法本身,而在于采集数据的多样性和标定板的制作质量。
标定板制作与采集规范
标定板是标定系统的物理基准,其制作精度直接进入误差预算。对于运动平台补偿场景,建议使用陶瓷或铝基板上的玻璃铬版棋盘格,平整度优于 0.02 mm,格距公差控制在 ±0.01 mm 以内。如果使用打印纸,必须贴在平整的玻璃或亚克力板上,避免纸张翘曲。棋盘格的内角点数量建议不少于 7×9,格距根据视场大小选择,通常使棋盘格占据图像宽度的 60%~80%。
采集图像时,需要覆盖整个视场,包括四角和中心区域。姿态变化应包含绕 X、Y、Z 轴的旋转,倾斜角建议在 ±30° 范围内变化,避免所有图像都近似正对相机。每张图像中棋盘格应完整可见,且角点检测置信度高于阈值。一般建议采集 15~25 张有效图像,过少会导致参数不稳定,过多则边际收益递减。采集过程中保持相机焦距、光圈和对焦环锁定,避免内参变化。
畸变模型的选择依据
相机畸变主要分为径向畸变和切向畸变。径向畸变由镜头曲率引起,表现为图像边缘的桶形或枕形变形,通常用 k1、k2、k3 三个系数描述;切向畸变由镜头与传感器不平行引起,用 p1、p2 描述。对于普通工业镜头,采用 k1、k2、p1、p2 的五参数模型通常足够。如果使用广角或鱼眼镜头,则需要引入 k3 甚至 k4,或者改用等距投影模型。
模型选择的原则是“够用即可”。过度增加畸变系数会导致过拟合:在标定图像上重投影误差很小,但在未参与标定的区域,畸变校正反而出现振荡。判断方法是观察残差分布:如果残差在图像边缘呈现系统性弯曲,说明径向高阶项不足;如果残差在四个象限呈现反对称模式,说明切向项需要保留。实际工程中,可以先固定 k3=0 求解,再放开 k3 观察 RMS 是否显著下降,若下降幅度小于 0.02 px,则不必引入。
标定精度评价与验证
重投影误差是最常用的评价指标,但它只反映标定图像上的拟合程度,不能直接代表物理定位精度。一个完整的评价流程应包含三个层次:第一,检查重投影误差的 RMS 和最大值,RMS 建议控制在 0.3 像素以内,最大残差不宜超过 0.8 像素;第二,检查参数标准差,焦距和主点的标准差应远小于其估计值,若主点标准差接近主点本身,说明数据不足或姿态单一;第三,进行独立物理验证,例如将标定板移动一个已知距离,用标定参数计算位移,与实际位移比较,误差应小于 0.05 mm。
在运动平台闭环补偿中,还可以直接观察补偿后的残差。如果标定参数准确,平台运动到不同位置时,视觉测量的偏差应呈现随机分布,而不是随位置单调变化。若发现系统性趋势,说明畸变模型或外参存在偏差,需要回到标定环节重新检查。
标定结果检查清单
| 检查项 | 合格标准 | 不合格时的处理 |
|---|---|---|
| 有效图像数量 | ≥ 15 张 | 补充不同姿态图像 |
| 重投影误差 RMS | < 0.3 px | 检查角点检测、剔除异常图像 |
| 最大残差 | < 0.8 px | 检查该图像是否模糊或倾斜过大 |
| 主点标准差 | < 主点值的 5% | 增加图像数量或姿态多样性 |
| 物理位移验证 | 误差 < 0.05 mm | 检查标定板精度、重新标定 |
| 残差分布 | 无明显方向性趋势 | 调整畸变模型阶数 |
张正友标定法本身并不复杂,真正决定成败的是标定板的制作精度、图像采集的覆盖范围和精度评价的严谨程度。把这三个环节做扎实,后续的视觉定位和闭环补偿才有可靠的基础。