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 坐标系转换关系

从世界坐标系到像素坐标系的完整转换链包含四个步骤,每一步对应一个变换矩阵。下图展示了这一层级关系:

四大坐标系转换链 世界坐标系 (Xw, Yw, Zw) 相机坐标系 (Xc, Yc, Zc) 图像坐标系 (x, y) 像素坐标系 (u, v) 刚体变换 R, t (外参) 透视投影 内参 K (f) 离散化 dx, dy, u0, v0 转换链:世界 → 相机 → 图像 → 像素 外参(R,t)描述刚体变换,内参(K)描述投影与离散化

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 结构图

下图展示了手眼标定中常见的坐标系变换关系,以“眼在手上”配置为例:

手眼标定坐标系变换关系(眼在手上) 机器人基坐标系 Base 工具坐标系 Tool / Flange 相机坐标系 Camera 标定板坐标系 CalObj baseHtool 机器人正运动学 toolHcam 待标定(手眼矩阵) camHobj 相机标定(外参) baseHobj 已知(标定板固定) 眼在手上标定方程:baseHtool · toolHcam · camHobj = baseHobj 求解 toolHcam 即为手眼标定目标

上图中,baseHtool 由机器人控制器提供(正运动学),camHobj 通过相机标定获得,baseHobj 已知(标定板固定在工作台)。求解 toolHcam 即为手眼标定的核心任务。

2.8 本节要点总结

  • 四大坐标系:世界(3D 全局)、相机(3D 光心)、图像(2D 物理)、像素(2D 离散),构成完整的成像几何链。
  • 刚体变换:仅包含旋转和平移,用齐次矩阵 [R | t] 统一表达,是手眼标定的数学基础。
  • 齐次矩阵:4×4 矩阵,可串联多次变换,简化标定方程推导。
  • 完整投影方程:p = K · [R | t] · Pw,内参 K 描述相机内部投影,外参 [R | t] 描述相机在世界中的位姿。
  • 标定本质:通过已知的坐标系变换关系,求解未知的变换矩阵(如 toolHcam)。