2. 坐标系基础:世界坐标系、相机坐标系、图像坐标系、像素坐标系定义及齐次坐标变换原理
在3D视觉定位与手眼标定中,坐标系是描述空间点位置的数学基础。一个三维空间点从物理世界最终映射到数字图像,需要经历四个坐标系的连续变换。理解这些坐标系及其变换关系,是掌握手眼标定原理的前提。
2.1 四大坐标系定义
根据成像几何流程,空间点依次经过以下四个坐标系:
| 坐标系名称 | 维度 | 单位 | 原点位置 | 描述 |
|---|---|---|---|---|
| 世界坐标系 (World) | 3D (Xw, Yw, Zw) | 物理长度 (mm/m) | 用户自定义 | 描述物体在真实世界中的位置,是标定过程的参考基准 |
| 相机坐标系 (Camera) | 3D (Xc, Yc, Zc) | 物理长度 (mm/m) | 相机光心 | 以相机光心为原点,Zc轴沿光轴方向指向场景 |
| 图像坐标系 (Image) | 2D (x, y) | 物理长度 (mm) | 图像平面与光轴交点(主点) | 描述投影点在成像平面上的物理位置 |
| 像素坐标系 (Pixel) | 2D (u, v) | 像素 (pixel) | 图像左上角 | 数字图像存储的离散坐标,u轴向右,v轴向下 |
关键区分:图像坐标系与像素坐标系极易混淆。图像坐标系以物理长度(mm)为单位,原点在光轴与成像面的交点;像素坐标系以像素为单位,原点在图像左上角。两者之间的转换涉及相机内参中的像素尺寸(dx, dy)和主点偏移(u0, v0)。
2.2 坐标系变换流程
从世界坐标到像素坐标的完整变换链路如下:
- 世界 → 相机:刚体变换(旋转 + 平移),即相机外参
- 相机 → 图像:透视投影(针孔模型),将3D点投影到2D成像平面
- 图像 → 像素:仿射变换(缩放 + 平移),将物理坐标离散化为像素坐标
核心公式(齐次坐标形式):
s * [u, v, 1]^T = K * [R | t] * [Xw, Yw, Zw, 1]^T
其中:s 为尺度因子,K 为相机内参矩阵,[R | t] 为相机外参矩阵。
2.3 齐次坐标变换原理
齐次坐标是解决3D变换中旋转与平移统一表达的关键数学工具。其核心思想是将n维向量用n+1维向量表示:
- 3D点:
(X, Y, Z) → (X, Y, Z, 1) - 3D方向向量:
(X, Y, Z) → (X, Y, Z, 0)
使用齐次坐标后,旋转和平移可以合并为一个4×4变换矩阵:
| R t | | r11 r12 r13 tx |
| 0 1 | = | r21 r22 r23 ty |
| r31 r32 r33 tz |
| 0 0 0 1 |
连续变换可通过矩阵乘法串联:T_total = T1 * T2 * T3,这为手眼标定中求解相机与机器人之间的位姿关系提供了代数基础。
2.4 四大坐标系变换关系图
下图展示了从世界坐标系到像素坐标系的完整变换链路及各坐标系之间的数学关系:
2.5 坐标系变换的数学表达
下表总结了各变换阶段的数学表达式及其在标定中的物理含义:
| 变换阶段 | 数学表达式 | 参数 | 标定中的角色 |
|---|---|---|---|
| 世界 → 相机 | Pc = R * Pw + t |
R (3×3), t (3×1) | 外参:相机在世界中的位姿 |
| 相机 → 图像 | x = fx * Xc/Zc, y = fy * Yc/Zc |
fx, fy (焦距) | 内参:投影几何 |
| 图像 → 像素 | u = x/dx + u0, v = y/dy + v0 |
dx, dy (像元尺寸), u0, v0 | 内参:离散化 |
常见误区:
- 误将图像坐标系与像素坐标系混为一谈,导致内参标定结果错误
- 忽略齐次坐标中尺度因子s的存在,直接认为像素坐标与物理坐标是线性关系
- 在串联变换时忘记矩阵乘法的顺序(从右向左),导致变换方向错误
2.6 齐次变换矩阵的几何意义
4×4齐次变换矩阵 T 可以分解为旋转和平移两部分,其逆矩阵的几何含义同样重要:
T = | R t | T^(-1) = | R^T -R^T * t |
| 0 1 | | 0 1 |
在手眼标定中,我们经常需要求解形如 AX = XB 的方程,其中A、B、X均为4×4齐次变换矩阵。这正是机器人手眼标定(Eye-in-Hand 或 Eye-to-Hand)的核心数学模型。
手眼标定核心方程:
AX = XB
其中:A 为机器人末端位姿变化量,B 为相机观测到的标定板位姿变化量,X 为待求的手眼变换矩阵。
2.7 坐标系变换在标定中的实际应用
以 Eye-in-Hand(眼在手上)构型为例,坐标系变换的完整链路如下:
- 机器人基座坐标系 → 机器人末端坐标系(由机器人正运动学提供)
- 机器人末端坐标系 → 相机坐标系(待求的手眼变换矩阵 X)
- 相机坐标系 → 标定板坐标系(由相机观测到的标定板位姿提供)
- 标定板坐标系 → 机器人基座坐标系(闭环约束,用于构建方程)
通过多次变换,形成闭环约束,即可求解未知的手眼变换矩阵X。
实践建议:在开始手眼标定之前,务必先完成相机内参标定,获取准确的K矩阵。内参误差会直接传递到手眼标定结果中,导致最终定位精度下降。建议使用至少15-20张不同位姿的标定板图像进行内参标定。