4. 坐标系基础:世界坐标系、相机坐标系、图像坐标系、像素坐标系定义与转换关系
在3D线扫相机手眼标定中,坐标系是描述空间点位置的数学基础。理解四个核心坐标系——世界坐标系、相机坐标系、图像坐标系、像素坐标系——及其转换关系,是进行标定、重建与机器人引导的前提。
4.1 四大坐标系定义
| 坐标系 | 符号 | 维度 | 原点与轴定义 | 单位 |
|---|---|---|---|---|
| 世界坐标系 | Ow-XwYwZw | 3D | 用户自定义,通常选在机器人基座或标定板角点;Zw 一般垂直向上 | mm / m |
| 相机坐标系 | Oc-XcYcZc | 3D | 原点在相机光心;Zc 沿光轴指向场景前方;Xc 向右,Yc 向下 | mm / m |
| 图像坐标系 | Oi-xy | 2D | 原点在图像平面与光轴交点(主点);x 向右,y 向下 | mm |
| 像素坐标系 | Op-uv | 2D | 原点在图像左上角;u 向右(列),v 向下(行) | pixel |
关键区分:图像坐标系以物理长度(mm)为单位,描述点在成像平面上的实际位置;像素坐标系以离散像素为单位,描述点在数字图像中的行列索引。两者通过像素尺寸和主点偏移关联。
4.2 坐标系转换全链路
一个空间点从世界坐标系到像素坐标系的完整转换分为四个步骤,构成一条不可逆的流水线:
- 世界 → 相机:刚体变换(旋转 + 平移),即相机外参。
- 相机 → 图像:透视投影(针孔模型),将3D点映射到2D成像平面。
- 图像 → 像素:仿射变换(缩放 + 平移),将物理坐标离散化为像素坐标。
数学表达(齐次坐标形式):
s * [u, v, 1]^T = K * [R | t] * [Xw, Yw, Zw, 1]^T
其中:
s —— 尺度因子(深度);
K —— 相机内参矩阵(3×3);
[R | t] —— 相机外参矩阵(3×4);
[Xw, Yw, Zw, 1]^T —— 世界坐标系下的齐次坐标。
4.3 各步转换详解
4.3.1 世界坐标系 → 相机坐标系(外参)
设世界坐标系下一点 Pw = (Xw, Yw, Zw)T,其在相机坐标系下的坐标为:
Pc = R * Pw + t
其中 R 为 3×3 旋转矩阵,t 为 3×1 平移向量。R 和 t 统称为相机外参,描述了相机在世界坐标系中的位姿。
常见误区:外参矩阵 [R | t] 是将世界点变换到相机坐标系,而非将相机变换到世界坐标系。两者互为逆变换。在手眼标定中,外参通常指相机相对于机器人末端或基座的位姿。
4.3.2 相机坐标系 → 图像坐标系(透视投影)
根据针孔成像模型,相机坐标系下一点 (Xc, Yc, Zc) 在图像平面上的投影坐标为:
x = f * Xc / Zc
y = f * Yc / Zc
其中 f 为相机焦距(单位:mm)。该映射将 3D 点压缩到 2D 平面,丢失了深度信息 Zc。
4.3.3 图像坐标系 → 像素坐标系(离散化)
图像坐标系下的物理坐标 (x, y) 转换为像素坐标 (u, v) 的公式为:
u = x / dx + u0
v = y / dy + v0
其中:
dx, dy —— 单个像素在 x 和 y 方向的物理尺寸(mm/pixel);
(u0, v0) —— 主点(光轴与图像平面交点)的像素坐标。
将上述两步合并,得到相机内参矩阵 K:
K = | fx 0 u0 |
| 0 fy v0 |
| 0 0 1 |
其中 fx = f / dx,fy = f / dy,单位为像素。
4.4 线扫相机的坐标系特殊性
与面阵相机不同,线扫相机每次只采集一行像素,其坐标系转换有以下特点:
- 图像坐标系退化为线状:线扫相机的成像平面只有一行感光元件,图像坐标系 y 方向由运动平台位移提供。
- 像素坐标系 uv 中,v 方向代表运动方向:每触发一次采集,v 增加 1,u 为线阵方向像素索引。
- 需要引入运动轴坐标系:通常将编码器或光栅尺的读数映射为 v 方向坐标,形成“虚拟图像坐标系”。
- 外参标定更复杂:需要同时标定相机相对于运动方向的旋转和平移,即“线扫手眼标定”。
线扫相机内参矩阵 K 的变体:
K_line = | fx 0 u0 |
| 0 1 0 |
| 0 0 1 |
注意 fy 被固定为 1,因为 y 方向(运动方向)的尺度由外部编码器决定,而非相机内部参数。
4.5 坐标系转换在标定中的实际意义
| 标定步骤 | 涉及的坐标系转换 | 求解参数 |
|---|---|---|
| 相机内参标定 | 图像坐标系 ↔ 像素坐标系 | fx, fy, u0, v0, 畸变系数 |
| 手眼标定(固定相机) | 世界坐标系 ↔ 相机坐标系 | 相机相对于机器人基座的位姿 |
| 手眼标定(移动相机) | 世界坐标系 ↔ 相机坐标系 ↔ 机器人末端坐标系 | 相机相对于机器人末端的位姿 |
| 线扫运动标定 | 运动轴坐标系 ↔ 像素坐标系 v 方向 | 编码器分辨率、运动方向与相机夹角 |
实践建议:在开始手眼标定之前,务必先完成相机内参标定,并确认像素尺寸 dx、dy 和主点 (u0, v0) 的精度。内参误差会直接传递到外参标定结果中,导致机器人抓取或测量偏差。