坐标系统基础:世界坐标系、相机坐标系、图像坐标系、像素坐标系的定义与关系
在视觉引导定位与手眼标定任务中,坐标系统是整个技术栈的“空间语言”。无论是机械臂抓取、AGV导航,还是精密测量,所有空间信息都必须通过一套统一的坐标语言进行表达与转换。如果坐标系定义不清或转换关系混乱,后续的标定、定位、路径规划都将失去数学基础。本章将系统梳理视觉系统中四个核心坐标系——世界坐标系、相机坐标系、图像坐标系、像素坐标系——的数学定义、物理意义及其相互转换关系,为后续手眼标定与位姿解算奠定坚实的理论基础。
3.1 四个坐标系的定义与物理意义
在视觉测量与机器人引导系统中,四个坐标系的定义各有其明确的物理背景与数学角色。理解这些定义是掌握坐标转换的前提,也是后续手眼标定中建立方程的基础。
3.1.1 世界坐标系(World Coordinate System)
世界坐标系是描述整个场景的参考系,通常用 (Xw, Yw, Zw) 表示。它的原点与轴向可以根据应用场景自由定义,例如:在机器人抓取任务中,常将世界坐标系建立在机器人基座或工作台面上;在AGV导航中,则可能建立在地图原点。世界坐标系的作用是为所有物体(包括相机、机械臂、目标工件)提供统一的空间基准。在实际工程中,世界坐标系的选取应遵循“便于测量、便于计算、便于标定”的原则,通常采用右手坐标系,单位一般为毫米(mm)或米(m)。
3.1.2 相机坐标系(Camera Coordinate System)
相机坐标系以相机光心(透镜中心)为原点,用 (Xc, Yc, Zc) 表示。其Zc轴与相机光轴重合,指向相机前方;Xc轴与图像平面水平方向平行,Yc轴与图像平面垂直方向平行(通常向下)。相机坐标系是连接三维世界与二维图像的关键桥梁,它将世界坐标系中的点通过刚体变换(旋转+平移)映射到以相机为中心的三维空间中。在针孔模型中,相机坐标系中的点经过透视投影后,映射到图像平面上。
3.1.3 图像坐标系(Image Coordinate System)
图像坐标系描述物体在成像平面上的物理位置,用 (x, y) 表示,单位通常为毫米。其原点位于光轴与成像平面的交点(即主点),x轴与像素坐标系的u轴平行,y轴与v轴平行。图像坐标系是相机坐标系到像素坐标系的中间过渡,它将三维空间中的点投影到二维平面上,但此时坐标值仍是连续的物理量(毫米),尚未离散化为像素。
3.1.4 像素坐标系(Pixel Coordinate System)
像素坐标系是最终用于图像访问与处理的离散坐标系统,用 (u, v) 表示,单位为像素(pixel)。其原点位于图像左上角,u轴向右,v轴向下。像素坐标系的引入是因为数字图像以像素为最小存储单元,每个像素对应一个灰度或颜色值。像素坐标与图像坐标之间存在缩放(由像元尺寸dx、dy决定)和平移(由主点偏移cx、cy决定)关系。
3.2 坐标系转换的数学原理与操作流程
坐标转换的核心是建立四个坐标系之间的数学映射关系。整个转换链路可以分解为三个步骤:刚体变换(世界→相机)、透视投影(相机→图像)、离散化(图像→像素)。下面逐一展开。
3.2.1 世界坐标系到相机坐标系:刚体变换
世界坐标系中的点 Pw = (Xw, Yw, Zw)ᵀ 到相机坐标系中的点 Pc = (Xc, Yc, Zc)ᵀ 的转换属于刚体变换,只涉及旋转和平移,不改变物体的形状和尺寸。数学表达式为:
Pc = R · Pw + T
其中,R 是 3×3 旋转矩阵,由三个欧拉角(Rx, Ry, Rz)或四元数确定;T 是 3×1 平移向量。R 和 T 合称为相机的外参(Extrinsic Parameters),它们描述了相机在世界坐标系中的位姿。在实际标定中,外参通常通过棋盘格标定板或特征点匹配来求解。
3.2.2 相机坐标系到图像坐标系:透视投影
根据针孔成像模型,相机坐标系中的点 Pc = (Xc, Yc, Zc)ᵀ 投影到图像平面上的坐标 (x, y) 满足相似三角形关系:
x = f · Xc / Zc
y = f · Yc / Zc
其中 f 为相机焦距(单位:mm)。该投影过程将三维点压缩为二维点,丢失了深度信息 Zc。需要注意的是,当 Zc = 0 时,投影无定义,因此相机前方的点必须满足 Zc > 0。
3.2.3 图像坐标系到像素坐标系:离散化
图像坐标 (x, y) 到像素坐标 (u, v) 的转换涉及缩放与平移:
u = x / dx + cx
v = y / dy + cy
其中 dx、dy 分别为每个像素在 x、y 方向上的物理尺寸(mm/pixel),cx、cy 为主点(光轴与成像平面交点)在像素坐标系中的坐标。将上述三个步骤合并,可以得到从世界坐标到像素坐标的完整投影方程(齐次坐标形式):
Zc · [u, v, 1]ᵀ = K · [R | T] · [Xw, Yw, Zw, 1]ᵀ
其中 K 为内参矩阵(Intrinsic Matrix),包含 f、dx、dy、cx、cy 等参数。
| 转换步骤 | 输入 → 输出 | 关键参数 | 参数类型 | 物理意义 |
|---|---|---|---|---|
| 刚体变换 | 世界坐标 → 相机坐标 | R(旋转矩阵)、T(平移向量) | 外参 | 相机在世界坐标系中的位姿 |
| 透视投影 | 相机坐标 → 图像坐标 | f(焦距) | 内参 | 光学成像的缩放比例 |
| 离散化 | 图像坐标 → 像素坐标 | dx、dy(像元尺寸)、cx、cy(主点) | 内参 | 模拟信号到数字采样的映射 |
3.3 实战场景:视觉引导抓取中的坐标转换链路
为了将上述理论落地,我们以一个典型的“相机引导机械臂抓取工件”场景为例,完整走一遍坐标转换流程。该案例将展示四个坐标系如何协同工作,以及每一步转换的实际意义。
3.3.1 场景描述与初始条件
假设一个视觉引导抓取工位:工业相机固定安装在机械臂上方(眼在手外,Eye-to-Hand 布局),工作台上放置一个待抓取的螺栓。已知条件如下:
- 世界坐标系原点设在机械臂基座中心,Z轴垂直向上,单位mm。
- 相机经过标定,内参矩阵 K 已知:f = 12mm,dx = dy = 0.005mm/pixel,cx = 640,cy = 512(图像分辨率1280×1024)。
- 相机外参(通过手眼标定获得):R 为单位矩阵(相机光轴与机械臂Z轴平行),T = [100, 50, 800]ᵀ(相机光心在世界坐标系中的位置)。
3.3.2 目标检测与像素坐标提取
通过图像处理算法(如模板匹配或深度学习目标检测),在图像中定位到螺栓中心,得到其像素坐标为 (u, v) = (720, 480)。这是整个转换链路的起点——像素坐标系中的离散位置。
3.3.3 逐步逆推:从像素到世界坐标
第一步:像素坐标 → 图像坐标。利用离散化逆变换:
x = (u - cx) × dx = (720 - 640) × 0.005 = 0.4mm
y = (v - cy) × dy = (480 - 512) × 0.005 = -0.16mm
第二步:图像坐标 → 相机坐标。由于单目相机无法直接恢复深度,需要借助已知条件。假设螺栓放置在工作台平面上,且工作台在世界坐标系中的高度 Zw = 0。通过相机外参可知,相机光心在世界坐标系的 Z 分量为 800mm,因此相机坐标系中螺栓的 Zc = 800 - 0 = 800mm。利用透视投影逆变换:
Xc = x × Zc / f = 0.4 × 800 / 12 = 26.67mm
Yc = y × Zc / f = -0.16 × 800 / 12 = -10.67mm
第三步:相机坐标 → 世界坐标。利用刚体变换逆变换(R为单位矩阵,R⁻¹ = Rᵀ = R):
Pw = R⁻¹ × (Pc - T) = Pc - T
Xw = 26.67 - 100 = -73.33mm
Yw = -10.67 - 50 = -60.67mm
Zw = 800 - 800 = 0mm
最终得到螺栓在世界坐标系中的位置为 (-73.33, -60.67, 0)mm。机械臂控制系统即可根据该坐标规划抓取路径。
3.4 常见误区与总结复盘
坐标系统看似简单,但在实际工程中经常因概念混淆或参数错误导致定位偏差。以下是常见的误区和对应的规避策略。
3.4.1 误区一:混淆图像坐标系与像素坐标系
初学者常将图像坐标 (x, y) 与像素坐标 (u, v) 混为一谈。实际上,图像坐标是连续的物理量(mm),原点在光轴与成像平面交点;像素坐标是离散的整数(pixel),原点在图像左上角。两者之间的转换需要知道像元尺寸 dx、dy 和主点偏移 cx、cy。若直接使用像素坐标进行相机坐标计算,会引入系统性偏差。
3.4.2 误区二:忽略相机畸变的影响
针孔模型是理想化模型,实际镜头存在径向畸变和切向畸变。在精度要求较高的视觉引导场景中(如精密装配),必须对图像坐标进行畸变校正。畸变模型通常包含 k1、k2、k3(径向)和 p1、p2(切向)等参数,这些参数通过相机标定获得。校正公式为:
x_corrected = x × (1 + k1·r² + k2·r⁴ + k3·r⁶) + 2·p1·x·y + p2·(r² + 2x²)
y_corrected = y × (1 + k1·r² + k2·r⁴ + k3·r⁶) + p1·(r² + 2y²) + 2·p2·x·y
其中 r² = x² + y²。建议在标定后对整幅图像进行去畸变处理,或对提取的特征点坐标进行畸变校正后再参与坐标转换。
3.4.3 误区三:外参与内参的混淆
外参(R, T)描述相机在世界坐标系中的位姿,随相机安装位置变化而变化;内参(f, dx, dy, cx, cy)描述相机本身的成像特性,只与镜头和传感器有关。在更换相机安装位置后,必须重新标定外参;而内参在镜头和相机未更换时通常保持稳定。手眼标定的核心任务之一就是求解外参(或手眼矩阵)。
3.4.4 误区四:坐标系轴向方向定义不一致
不同软件库或硬件厂商对坐标轴方向的定义可能不同。例如,OpenCV 中像素坐标系 v 轴向下,而某些机器人系统中 Y 轴向上。在集成视觉系统与机器人系统时,必须统一坐标轴方向约定,否则会导致旋转矩阵计算错误。建议在项目启动时制定坐标系统一规范文档,明确各坐标系原点、轴向、单位及正方向。
3.4.5 总结复盘
本章系统梳理了视觉引导定位中四个核心坐标系的定义与转换关系。核心要点归纳如下:
- 世界坐标系是参考系,用于统一描述场景中所有物体的位置,其原点与轴向根据应用场景灵活定义。
- 相机坐标系以光心为原点,Zc 轴沿光轴方向,是连接三维世界与二维图像的关键桥梁。
- 图像坐标系是成像平面上的连续物理坐标,单位为 mm,原点在主点位置。
- 像素坐标系是数字图像的离散坐标,单位为 pixel,原点在图像左上角。
- 完整转换链路为:世界坐标 →(外参 R, T)→ 相机坐标 →(内参 f, dx, dy, cx, cy)→ 图像坐标 →(离散化)→ 像素坐标。
- 实际工程中必须考虑镜头畸变校正、坐标轴方向统一、深度信息获取等关键问题。
掌握这四个坐标系的定义与转换关系,是后续学习手眼标定、视觉引导定位算法的基础。在下一阶段,我们将深入探讨相机成像模型与标定方法,进一步理解如何通过标定获取内参与外参参数。