3. 图像采集与相机标定基础
在 VisionPro 的机器人定位与引导项目中,图像采集与相机标定是整条视觉链路的起点。相机模型决定了三维世界如何投影到二维图像,镜头选型决定了视场、精度与畸变水平,标定板与 Calibration 工具则把像素坐标与物理坐标、机器人坐标统一到同一参照系。若这一层存在偏差,后续的定位、抓取和引导都会系统性偏移,且很难通过调参弥补。
一、相机模型:从世界坐标到像素坐标
VisionPro 中常用的相机模型是针孔模型加径向畸变。其核心关系可写成:
s·[u, v, 1]ᵀ = K · [R | t] · [Xw, Yw, Zw, 1]ᵀ
K = [[fx, 0, cx],
[0, fy, cy],
[0, 0, 1]]
其中 (Xw, Yw, Zw) 是世界坐标,(u, v) 是像素坐标,K 为内参矩阵,fx、fy 为以像素为单位的焦距,cx、cy 为主点。R、t 为外参,描述相机相对世界坐标系的旋转和平移。实际镜头还会引入径向畸变 k1、k2 和切向畸变 p1、p2,VisionPro 在标定过程中会一并求解。
需要特别说明坐标系约定:本节统一采用右手坐标系,Z 轴指向相机前方,图像原点位于左上角,u 向右、v 向下。后续所有标定、手眼关系和机器人引导均沿用该约定,切换参照系时必须显式说明。
二、镜头选型:视场、精度与工作距离的匹配
镜头选型不是“选一个能看清的镜头”,而是根据视场 FOV、工作距离 WD、传感器尺寸和所需精度反推焦距。常用估算公式为:
f = (WD × 传感器尺寸) / FOV
例如,某工位需要覆盖 200 mm × 150 mm 的视场,工作距离约 400 mm,选用 1/1.8″ 传感器,其靶面宽约 7.2 mm、高约 5.4 mm。按宽度计算:f = (400 × 7.2) / 200 = 14.4 mm,因此可选 12 mm 或 16 mm 定焦镜头,再通过实际工作距离微调。若要求检测 0.1 mm 的缺陷,则像素分辨率至少应达到 FOV / 精度 ≈ 200 / 0.1 = 2000 像素,即相机横向分辨率不低于 2000 px,通常还要留 2~3 倍余量。
除焦距外,还需关注景深、畸变和光圈。景深不足会导致高低工件不能同时清晰;畸变过大会让标定残差升高;光圈过大会降低景深,过小则可能引入衍射模糊。实际选型时,应把“视场够、精度够、景深够、畸变可控”作为四项基本判据。
三、标定板使用:从采集到残差判断
VisionPro 常用棋盘格或圆点标定板。棋盘格角点定位精度高,适合大多数面阵相机;圆点板在背光或低对比度场景下更稳定。标定板使用要点如下:
- 标定板平面应覆盖图像约 60%~80% 的区域,避免只占中心一小块。
- 至少采集 10~15 幅不同姿态图像,包含平移、旋转和倾斜,倾斜角建议在 ±30° 以内。
- 每幅图像中棋盘格应完整可见,角点清晰,避免运动模糊和过曝。
- 标定板与相机之间保持固定焦距,标定过程中不得变焦或改变光圈。
采集完成后,VisionPro Calibration 工具会输出重投影误差(Reprojection Error)。一般要求平均误差小于 0.1~0.2 像素,最大误差不超过 0.5 像素。若误差偏大,优先检查角点提取是否准确、标定板是否平整、图像是否存在畸变未覆盖区域,而不是直接接受结果。
四、VisionPro Calibration 工具操作流程
在 VisionPro 中,标定通常通过 Calibration 工具或 CogCalibCheckerboard 工具完成。典型操作如下:
- 新建 Calibration 工具,选择标定类型:相机标定、手眼标定或机器人引导标定。
- 导入或采集标定图像,设置标定板类型、方格尺寸和行列数。例如方格尺寸 5 mm,行列数 9×7。
- 运行角点提取,检查每幅图的角点是否完整、顺序是否正确。
- 执行标定计算,查看内参、畸变系数和重投影误差。
- 保存标定文件,并在后续定位工具中引用该标定结果。
若涉及机器人引导,还需进行手眼标定:把标定板固定在机器人末端或工作台上,让机器人带动相机或标定板走多个位姿,同时记录机器人位姿和图像,求解相机与机器人基座之间的变换矩阵。手眼标定对位姿数量和分布敏感,通常建议不少于 10 个位姿,且位姿在空间中尽量分散。
五、参数关系与结果判断
下面这张图把相机模型、镜头选型、标定板采集和 Calibration 工具输出串成一条信号链,便于理解各参数之间的因果关系。
从图中可以看到,镜头选型决定了图像质量和视场覆盖,相机模型决定了坐标变换关系,标定板采集提供约束数据,Calibration 工具输出内参、畸变和手眼关系,最终由重投影误差判断标定是否可用。若误差超标,应回到采集环节检查角点质量和姿态分布,而不是直接进入机器人引导。
六、实操检查清单
| 检查项 | 推荐值 / 判断依据 | 异常处理 |
|---|---|---|
| 视场覆盖 | 标定板占图像 60%~80% | 调整工作距离或焦距 |
| 标定图像数量 | 10~15 幅,多姿态 | 补充倾斜和旋转姿态 |
| 重投影误差 | 平均 < 0.2 px,最大 < 0.5 px | 检查角点、板平整度、畸变覆盖 |
| 手眼标定位姿 | ≥ 10 个,空间分散 | 增加位姿,避免共面 |
| 标定文件引用 | 定位工具正确加载 | 确认路径和版本一致 |
掌握相机模型、镜头选型、标定板使用和 VisionPro Calibration 工具操作,是后续机器人定位与引导能够稳定工作的前提。实际项目中,建议把标定参数、误差记录和复标日期纳入项目文档,形成可追溯的标定档案。