2. 坐标系基础:世界坐标系、相机坐标系、图像坐标系、像素坐标系定义与转换关系,刚体变换与齐次矩阵
在机器视觉与手眼标定中,坐标系是描述空间物体位置与姿态的数学基础。理解四个核心坐标系及其转换关系,是掌握标定原理的前提。本节将系统定义各坐标系,推导转换公式,并引入刚体变换与齐次矩阵这一核心数学工具。
2.1 四大坐标系定义
| 坐标系 | 符号 | 维度 | 单位 | 描述 |
|---|---|---|---|---|
| 世界坐标系 | Ow-XwYwZw | 3D | mm / m | 固定在真实空间中的参考系,描述物体与相机的全局位置 |
| 相机坐标系 | Oc-XcYcZc | 3D | mm / m | 以相机光心为原点,Zc 轴沿光轴方向,描述物体相对相机的空间位置 |
| 图像坐标系 | o-xy | 2D | mm | 位于成像平面,原点为光轴与成像面交点(主点),物理单位 |
| 像素坐标系 | o0-uv | 2D | pixel | 位于图像左上角,u 轴向右,v 轴向下,离散整数坐标 |
关键区分:图像坐标系与像素坐标系极易混淆。图像坐标系以物理长度(mm)为单位,原点在主点;像素坐标系以像素为单位,原点在图像左上角。两者通过像素尺寸和主点偏移进行转换。
2.2 坐标系转换关系
从世界坐标系到像素坐标系的完整转换链包含四个步骤,每一步对应一个变换矩阵。下图展示了这一层级关系:
2.3 刚体变换与齐次矩阵
刚体变换(Rigid Transformation)是手眼标定中最核心的数学操作,它描述一个物体在三维空间中只经过旋转和平移,不发生形变、缩放或扭曲。刚体变换由两部分组成:
- 旋转矩阵 R:3×3 正交矩阵,满足 RTR = I,det(R) = +1。描述坐标系之间的姿态关系。
- 平移向量 t:3×1 向量,描述坐标系原点之间的位移。
将旋转与平移组合为 齐次变换矩阵(Homogeneous Transformation Matrix),可以统一表达刚体变换:
世界坐标系到相机坐标系的刚体变换(外参矩阵):
| Xc | | r11 r12 r13 tx | | Xw |
| Yc | = | r21 r22 r23 ty | * | Yw |
| Zc | | r31 r32 r33 tz | | Zw |
| 1 | | 0 0 0 1 | | 1 |
简写为:Pc = [R | t] * Pw
齐次坐标的优势:使用齐次坐标(增加第4维为1)后,旋转和平移可以合并为一个 4×4 矩阵,使得多次变换可以通过矩阵乘法串联,极大简化了手眼标定中的方程推导。
2.4 完整投影方程
从世界坐标点 Pw = (Xw, Yw, Zw)T 到像素坐标 (u, v) 的完整投影方程如下:
| u | | fx 0 u0 0 | | R t | | Xw |
| v | = | 0 fy v0 0 | * | 0 1 | * | Yw |
| 1 | | 0 0 1 0 | | | | Zw |
| 1 |
其中:
- fx, fy:x、y 方向的等效焦距(像素单位)
- u0, v0:主点坐标(像素单位)
- R, t:外参(旋转矩阵与平移向量)
该方程可简写为:
p = K · [R | t] · Pw
其中 K 为相机内参矩阵,[R | t] 为外参矩阵。
2.5 坐标系转换在标定中的意义
| 标定环节 | 涉及的坐标系变换 | 数学表达 |
|---|---|---|
| 相机内参标定 | 图像坐标系 → 像素坐标系 | K 矩阵(fx, fy, u0, v0) |
| 手眼标定(眼在手外) | 世界坐标系 ↔ 相机坐标系 ↔ 机器人基坐标系 | 多个齐次矩阵串联: camHbase = camHobj · objHbase |
| 手眼标定(眼在手上) | 相机坐标系 ↔ 工具坐标系 ↔ 机器人基坐标系 | AX = XB 方程求解 |
| 3D 重建 | 像素坐标系 → 图像坐标系 → 相机坐标系 → 世界坐标系 | 逆投影 + 刚体逆变换 |
常见误区:初学者常将图像坐标系与像素坐标系混为一谈,导致内参矩阵中的 u0、v0 与 dx、dy 关系出错。务必记住:图像坐标 (x, y) 乘以像素尺寸的倒数再加上主点偏移,才得到像素坐标 (u, v)。
2.6 刚体变换的分解与合成
在手眼标定中,经常需要将齐次矩阵分解为旋转和平移,或将旋转矩阵分解为绕各轴的欧拉角。以下为常用分解方式:
// 从齐次矩阵提取旋转矩阵 R 和平移向量 t
R = H[0:3, 0:3]
t = H[0:3, 3]
// 从旋转矩阵提取欧拉角(ZYX 顺序)
θx = atan2(R[2][1], R[2][2])
θy = atan2(-R[2][0], sqrt(R[2][1]^2 + R[2][2]^2))
θz = atan2(R[1][0], R[0][0])
合成齐次矩阵时,将旋转矩阵与平移向量组合:
H = | R t |
| 0 1 |
逆变换的齐次矩阵为:
H_inv = | R^T -R^T * t |
| 0 1 |
OpenCV 与 Halcon 的差异:OpenCV 使用 Rodrigues 向量表示旋转(3 参数),而 Halcon 使用齐次矩阵或欧拉角。在跨平台标定中,务必注意旋转表示的转换。
2.7 坐标系变换的 SVG 结构图
下图展示了手眼标定中常见的坐标系变换关系,以“眼在手上”配置为例:
上图中,baseHtool 由机器人控制器提供(正运动学),camHobj 通过相机标定获得,baseHobj 已知(标定板固定在工作台)。求解 toolHcam 即为手眼标定的核心任务。
2.8 本节要点总结
- 四大坐标系:世界(3D 全局)、相机(3D 光心)、图像(2D 物理)、像素(2D 离散),构成完整的成像几何链。
- 刚体变换:仅包含旋转和平移,用齐次矩阵 [R | t] 统一表达,是手眼标定的数学基础。
- 齐次矩阵:4×4 矩阵,可串联多次变换,简化标定方程推导。
- 完整投影方程:p = K · [R | t] · Pw,内参 K 描述相机内部投影,外参 [R | t] 描述相机在世界中的位姿。
- 标定本质:通过已知的坐标系变换关系,求解未知的变换矩阵(如 toolHcam)。