4. 3D标定基础
在3D机器视觉系统中,标定的本质是建立“像素坐标—物理坐标”之间的可计算映射。没有标定,相机只是一个二维成像器件;完成标定后,它才成为可测量、可定位、可重建的三维传感器。本节围绕四个核心问题展开:相机模型由哪些参数构成、HALCON标定板如何提供约束、标定流程如何组织、标定结果如何评估与补偿。
一、相机模型:内参、外参与畸变
HALCON采用针孔模型加畸变修正来描述成像过程。世界坐标系中的点 Pw 先经外参变换到相机坐标系,再由内参投影到图像平面,最后叠加畸变得到实际像素坐标。
内参描述相机自身的成像几何,包括焦距 f(以像素为单位)、主点 (cx, cy)、像元尺寸 sx, sy。焦距决定视场角与放大倍率,主点是光轴与像平面的交点。内参一旦标定完成,在镜头与相机相对位置不变时可重复使用。
外参描述相机坐标系相对于世界坐标系的位置与姿态,由旋转矩阵 R 和平移向量 T 组成,共6个自由度。外参决定了“相机在哪里、朝哪里看”。在多相机系统中,外参还用于统一各相机到同一世界坐标系。
畸变模型修正实际镜头偏离理想针孔模型的部分。HALCON常用径向畸变系数 K1, K2, K3 和切向畸变系数 P1, P2。径向畸变使直线在图像边缘弯曲,表现为桶形或枕形;切向畸变由镜头与传感器不平行引起。畸变修正公式可简写为:
u' = u + (u - cx) * (K1*r² + K2*r⁴ + K3*r⁶) + 2*P1*(u-cx)*(v-cy) + P2*(r² + 2*(u-cx)²)
v' = v + (v - cy) * (K1*r² + K2*r⁴ + K3*r⁶) + P1*(r² + 2*(v-cy)²) + 2*P2*(u-cx)*(v-cy)
其中 r² = (u-cx)² + (v-cy)²
需要强调:内参、外参、畸变系数共同构成一个完整的相机参数集。只标内参不标外参,无法做三维测量;只标外参不标内参,投影关系不成立。
二、HALCON标定板与标定流程
HALCON标定板是一块印有已知几何图案的平板,常见为圆点阵列或棋盘格。其核心价值在于:图案上每个标记点的世界坐标是已知的,相机拍摄后提取到的像素坐标与已知世界坐标构成一一对应,从而为参数求解提供约束。HALCON标定板文件(.descr)中记录了标记点数量、行列间距、圆点直径等元数据,标定前必须正确加载。
标定流程可概括为以下关键步骤:
- 准备标定板与相机:选择合适尺寸的标定板,确保在最小工作距离下仍能完整成像,且标记点直径在图像中不少于约10像素。
- 采集多姿态图像:通常采集10~20张,标定板需覆盖图像不同区域,并具有不同倾斜角度。建议倾斜角在±30°范围内变化,避免所有图像姿态过于相似。
- 提取标记点:使用
find_calib_object或find_calib_object系列算子,得到每个标记点的图像坐标及标定板姿态。 - 设置初始参数:给出焦距、像元尺寸的初始估计值,以及畸变系数的初始值(通常设为0)。
- 执行标定:调用
calibrate_cameras,HALCON通过非线性优化同时求解内参、外参和畸变系数。 - 获取结果:得到相机参数
CameraParam,包含焦距、主点、畸变系数等。
三、标定精度评估
标定完成后,必须评估结果是否可用。HALCON提供两类主要指标:
- 重投影误差(Reprojection Error):将标定得到的三维点重新投影到图像平面,与实际提取的像素坐标比较,计算均方根误差。该值直接反映标定参数对训练数据的拟合程度。工程中通常要求 RMS 小于 0.1 像素;若大于 0.3 像素,说明标定质量不足。
- 参数标准差:
calibrate_cameras会输出各参数的标准差。若某参数标准差过大,说明该参数未被充分约束,常见原因是标定板姿态变化不足或图像数量太少。
此外,还应进行交叉验证:用一部分图像标定,用另一部分图像评估重投影误差。若训练误差很小但验证误差明显偏大,说明存在过拟合,需要增加姿态多样性或减少畸变系数数量。
四、误差补偿与工程处理
当重投影误差偏大时,可从以下方向排查与补偿:
- 检查标定板提取质量:标记点提取偏差是常见误差源。可查看
find_calib_object返回的标记点残差,剔除提取质量差的图像。 - 增加标定图像数量与姿态多样性:尤其增加倾斜和边缘区域图像,使畸变系数得到充分约束。
- 调整畸变模型阶数:若镜头畸变较大,可启用
K3或更高阶项;若图像数量不足,则应减少畸变系数,避免过拟合。 - 使用
change_radial_distortion_cam_off:在标定后对图像进行径向畸变校正,将畸变图像转换为无畸变图像,再用于后续测量。 - 多相机联合标定:若系统包含多个相机,应使用
calibrate_cameras同时标定所有相机,获得统一外参,避免分别标定后拼接误差累积。
五、关键参数速查
| 参数 | 含义 | 典型初值/范围 | 影响 |
|---|---|---|---|
| f | 焦距(像素) | 由镜头焦距与像元尺寸估算 | 视场角、放大倍率 |
| cx, cy | 主点坐标 | 图像中心附近 | 投影中心位置 |
| K1, K2, K3 | 径向畸变系数 | 0 或小量 | 边缘弯曲修正 |
| P1, P2 | 切向畸变系数 | 0 或小量 | 镜头倾斜修正 |
| R, T | 外参旋转与平移 | 由标定板姿态求解 | 相机位姿 |
掌握上述参数与流程后,标定就不再是“黑盒操作”,而是一个可诊断、可优化、可复现的工程环节。后续的3D测量、手眼标定和点云重建,都建立在这一步的精度之上。