3. 相机模型与标定
在机器人视觉位姿评测与部署中,相机是获取环境几何信息的核心传感器。若没有准确的相机模型与标定参数,后续的位姿估计、手眼转换、三维重建都会产生系统性偏差。本节围绕针孔成像模型、畸变模型、内外参标定方法、标定板与标定流程展开,帮助建立从“像素坐标”到“机器人坐标”的完整映射认知。
一、针孔模型:从三维点到像素的投影链
针孔模型是绝大多数工业相机与深度相机的理想成像近似。它假设光线通过一个极小孔洞后,在像平面上形成倒立实像。在数学上,这一过程可拆解为四个坐标系之间的变换:世界坐标系、相机坐标系、图像物理坐标系和像素坐标系。
设空间中一点 P_w = (X_w, Y_w, Z_w),经过外参矩阵 [R|t] 变换到相机坐标系 P_c = (X_c, Y_c, Z_c),再经内参矩阵 K 投影到像素坐标 (u, v)。其齐次形式为:
s * [u, v, 1]^T = K * [R | t] * [X_w, Y_w, Z_w, 1]^T
K = [ fx 0 cx
0 fy cy
0 0 1 ]
其中 fx = f / dx、fy = f / dy 为等效焦距,cx、cy 为主点坐标。内参描述相机自身属性,外参描述相机相对于世界坐标系的位置与姿态。理解这一投影链,是后续标定与位姿评测的基础。
二、畸变模型:为什么直线会变弯
真实镜头并非理想针孔,光线在穿过透镜时会产生偏折,导致图像出现畸变。最常见的两类是径向畸变和切向畸变。径向畸变由透镜形状引起,表现为桶形畸变或枕形畸变;切向畸变由透镜与成像平面不平行引起,表现为图像沿某一方向倾斜拉伸。
OpenCV 中常用的畸变模型包含五个参数:k1, k2, p1, p2, k3。去畸变时,先对归一化坐标 (x, y) 计算径向和切向修正,再乘以内参得到理想像素坐标。若使用鱼眼镜头,则需采用鱼眼模型,参数含义与普通针孔模型不同,不能混用。
三、内参与外参标定方法
内参标定旨在求解 fx, fy, cx, cy 以及畸变系数。外参标定则求解相机相对于机器人基座或末端执行器的位姿关系。常见方法包括:
- 张正友标定法:使用平面棋盘格,从多个角度拍摄,通过角点对应关系求解单应矩阵,再分解得到内外参。该方法成熟、工具链完善,是工业现场最常用的方案。
- 圆点阵列标定:使用圆点标定板,通过椭圆中心检测提高抗噪能力,适合高精度测量场景。
- 手眼标定:求解相机与机器人末端或基座之间的固定变换,常用
AX = XB形式,通过多组位姿数据求解。 - 自标定:不依赖标定板,利用场景中的约束或运动信息估计内参,灵活性高但精度和稳定性通常低于传统方法。
四、标定板与标定流程
标定板是标定过程的基准物。棋盘格标定板制作简单、角点定位精度高,适合大多数场景;圆点标定板在透视变形下中心提取更稳定;Charuco 板结合了棋盘格与 ArUco 标记,可在遮挡和部分可见条件下工作。
一个完整的标定流程通常包括以下步骤:
- 准备标定板,确认格距、行列数、打印精度和平面度。
- 固定相机与标定板相对运动路径,覆盖图像中心、边缘、不同距离和倾斜角度。
- 采集 15~30 张有效图像,确保角点检测成功且分布均匀。
- 运行标定算法,求解内参、畸变系数和每张图像的外参。
- 评估重投影误差,剔除误差过大的图像并重新标定。
- 保存标定结果,写入机器人视觉部署配置。
| 标定对象 | 典型参数 | 常用工具 | 评价指标 |
|---|---|---|---|
| 内参 | fx, fy, cx, cy | OpenCV calibrateCamera | 重投影误差 < 0.3 px |
| 畸变 | k1, k2, p1, p2, k3 | OpenCV 畸变模型 | 边缘直线度恢复 |
| 外参 | R, t | solvePnP / 手眼标定 | 位姿残差 < 1 mm / 0.5° |
| 手眼 | 相机-末端变换 | cv2.calibrateHandEye | 多组位姿一致性 |
五、案例与场景:从标定到部署
假设一台 Eye-in-Hand 机器人需要完成抓取任务。首先使用棋盘格标定相机内参,得到 fx=920.5, fy=921.1, cx=640.2, cy=360.8,畸变系数 k1=-0.12, k2=0.03。随后进行手眼标定,采集 20 组机器人位姿与对应标定板图像,求解相机到末端的变换矩阵。最后将标定参数写入部署配置:
camera:
fx: 920.5
fy: 921.1
cx: 640.2
cy: 360.8
dist: [-0.12, 0.03, 0.001, -0.002, 0.0]
hand_eye:
rotation: [[...], [...], [...]]
translation: [x, y, z]
部署后,通过抓取标准件验证位姿误差。若发现边缘区域偏差较大,应优先检查畸变系数是否准确、标定板是否覆盖边缘视场。
六、复盘与建议
相机标定不是一次性的“校准动作”,而是贯穿部署与维护的基础环节。建议在以下节点重新标定:更换镜头或相机、调整焦距、机器人碰撞后、温度变化显著、长期运行后精度下降。标定完成后,应保存原始图像、角点检测结果和重投影误差报告,便于追溯与复现。
在机器人视觉位姿评测中,标定质量直接决定评测结果的可信度。只有把针孔模型、畸变模型、内外参和标定流程作为一个整体来理解,才能在部署现场快速定位问题,保证视觉系统稳定可靠。