4. 多相机标定与全局统一

多相机大视野拼接系统里,每台相机单独标定只能得到各自的内部参数与相对各自标定板的位姿。真正决定“多张图能不能拼成一张图、拼出来的尺寸能不能量”的,是相机之间的外参关系,以及相机与运动机构(或工件坐标系)之间的统一关系。本节围绕三件事展开:相机间外参怎么标、全局坐标系怎么建立、手眼关系怎么求,最后给出标定误差的评估方法。

一、相机间外参标定:把多台相机放到同一个坐标系里

设系统有 N 台相机,选定其中一台作为参考相机(通常取视野居中、畸变较小的一台),记其相机坐标系为 C0。其余相机 Ci 相对 C0 的位姿用刚体变换表示:

P_C0 = R_i0 · P_Ci + t_i0
其中 R_i0 为 3×3 旋转矩阵,t_i0 为 3×1 平移向量(单位 mm)

标定的核心思路是:让同一块标定板(棋盘格或圆点靶)同时出现在相邻两台相机的公共视野中,分别求出标定板在两台相机下的位姿 T_board_Ci 与 T_board_Cj,则相机间外参为

T_Cj_Ci = T_board_Ci · inv(T_board_Cj)

实际操作中,标定板不可能一次覆盖所有相机,因此采用“链式传递”:相机1与2共视、2与3共视、3与4共视,逐段求出相邻外参,再沿链累乘得到任意两台相机之间的变换。链越长,误差累积越明显,所以应尽量让相邻相机有较大公共视野,并让标定板在公共区域内出现在多个不同位置和角度。

以 4 台 500 万像素相机、单相机视野约 300 mm×200 mm、相邻重叠约 60 mm 的系统为例,标定时建议:标定板在每对相邻相机的公共视野内采集 12~20 个位姿,位姿覆盖画面四角与中心,倾斜角在 ±25° 内变化。若某对相机公共视野过小,可引入第三台相机作为“桥接”,用两台相机分别与桥接相机共视来间接求外参。

二、全局坐标系建立:从相机坐标系到测量坐标系

相机间外参只解决了“相机彼此对齐”,但尺寸测量需要一个有物理意义的全局坐标系。常见做法是在标定板上定义一个工件坐标系 W:以标定板某角点为原点,沿格线方向为 X、Y 轴,垂直板面为 Z 轴。标定时同时记录标定板在参考相机 C0 下的位姿 T_board_C0,则全局坐标系到参考相机的变换为

T_W_C0 = T_board_C0 · T_W_board

之后所有相机观测到的点,先经各自外参转到 C0,再经 T_W_C0 转到全局坐标系 W,即可在同一坐标系下比较和拼接。若系统带运动轴(如龙门、转台),还需把全局坐标系与运动轴零点对齐:让标定板固定在运动台上,轴走到零位时记录 T_W_C0,之后轴每移动 Δ,全局坐标随之平移 Δ,从而把“相机视野”与“运动行程”统一到同一尺度。

需要注意方向约定:本文统一采用“点从相机坐标系变换到全局坐标系”的写法,旋转矩阵 R 表示从源坐标系到目标坐标系的旋转,平移向量 t 表示源坐标系原点在目标坐标系中的位置。全文与图示保持这一约定,切换参照系时明确说明。

三、手眼标定思路:相机与运动机构的位姿关系

当相机安装在机械臂末端(眼在手上)或固定在机架、机械臂携带工件(眼在手外)时,需要求相机与运动机构之间的手眼关系。经典模型为 AX = XB:

A:机械臂末端两次位姿之间的相对运动(由机器人正解给出)
B:相机两次观测到的标定板相对运动(由视觉给出)
X:待求的手眼矩阵(相机相对末端,或相机相对基座)

求解时让机械臂带动相机(或工件)做多组不同位姿运动,每组同时记录机器人位姿和相机对标定板的观测,构造多组 A、B 方程,用 Tsai-Lenz、Park 或对偶四元数法求解 X。工程上通常采集 15~25 组位姿,要求运动包含明显的旋转分量(绕不同轴转动),纯平移运动对方程约束弱,会导致 X 的旋转部分解不稳定。

手眼标定完成后,视觉测得的工件点 P_cam 可经 X 转到机器人基座坐标系,再与机器人目标位姿比较,实现抓取或测量。若系统同时存在多相机与运动轴,建议先做相机间外参,再做手眼标定,最后统一到全局坐标系,避免误差在多个环节反复传递。

四、标定误差评估:怎么判断标定“够不够用”

标定不是一次求完就结束,必须量化误差。常用指标有三类:

  • 重投影误差:把标定板角点按求得的参数投影回图像,计算与检测角点的像素距离,单相机一般要求均方根误差小于 0.2~0.5 像素。
  • 外参一致性误差:用链式外参把相机 j 观测的标定板点转到相机 i 坐标系,与相机 i 直接观测的同名点比较,统计三维距离偏差。示例中 4 相机系统若该偏差均方根在 0.1~0.3 mm 内,通常可满足 0.5 mm 级尺寸测量。
  • 全局尺寸误差:用已知长度的标准件(如 200 mm 量块或标定尺)放在不同位置测量,比较测量值与真值之差。这是最贴近实际使用的指标。

若误差偏大,优先检查:标定板位姿是否过于集中、公共视野是否足够、角点检测是否受光照影响、链式传递是否过长。必要时增加桥接相机或改用全局优化(把所有相机外参与标定板位姿放在一个最小二乘问题中联合优化),可显著降低累积误差。

多相机标定与全局统一关系图 相机 C0 参考相机 相机 C1 与 C0 共视 相机 C2 与 C1 共视 相机 C3 与 C2 共视 T_C1_C0 T_C2_C1 T_C3_C2 标定板 / 标准件 棋盘格 12×9,格距 10 mm 公共视野内多姿态采集 全局坐标系 W 原点:标定板角点,X/Y 沿格线 T_W_C0 手眼标定 AX = XB A:机器人相对运动 B:相机观测相对运动 X 误差评估 重投影 < 0.3 px 外参一致性 < 0.3 mm 链式外参逐段传递 → 统一到全局坐标系 W → 手眼关系接入运动机构 → 用标准件验证尺寸误差 示例参数:4 相机、单视野 300×200 mm、重叠约 60 mm、目标测量误差 0.5 mm 级

五、标定流程与检查要点

把上述内容串成可执行流程:先单相机内参标定,再相邻相机共视求外参并链式传递,接着用标定板定义全局坐标系 W,然后做手眼标定把相机与运动机构统一,最后用标准件验证。每一步都应保留原始图像与角点数据,便于误差超限时回溯。

检查要点可归纳为:公共视野是否足够、标定板姿态是否多样、链式传递是否过长、方向约定是否全文一致、标准件验证是否覆盖工作区域四角。若外参一致性误差超过 0.3 mm,优先增加桥接相机或改用全局联合优化,而不是简单重复采集。

标定误差评估建议同时看“像素级”和“毫米级”两类指标:重投影误差反映单相机模型质量,外参一致性与标准件误差反映多相机统一后的实际测量能力,两者缺一不可。