坐标系统基础:世界坐标系、相机坐标系、图像坐标系、像素坐标系的定义与关系

在视觉引导定位与手眼标定任务中,坐标系统是整个技术栈的“空间语言”。无论是机械臂抓取、AGV导航,还是精密测量,所有空间信息都必须通过一套统一的坐标语言进行表达与转换。如果坐标系定义不清或转换关系混乱,后续的标定、定位、路径规划都将失去数学基础。本章将系统梳理视觉系统中四个核心坐标系——世界坐标系、相机坐标系、图像坐标系、像素坐标系——的数学定义、物理意义及其相互转换关系,为后续手眼标定与位姿解算奠定坚实的理论基础。

视觉引导定位四坐标系关系总览 世界坐标系 (Xw, Yw, Zw) 基准参考系,单位:mm/m 描述物体在物理空间中的位置 相机坐标系 (Xc, Yc, Zc) 以相机光心为原点,Zc沿光轴 单位:mm,描述物体相对相机的空间位置 图像坐标系 (x, y) 以光轴与成像平面交点为原点 单位:mm,物理成像平面上的位置 像素坐标系 (u, v) 以图像左上角为原点,单位:pixel 离散整数坐标,用于图像访问 外参 R, T(刚体变换) 内参 f, dx, dy, cx, cy 离散化 缩放+平移 核心转换公式(针孔模型) ① 世界→相机: [Xc, Yc, Zc]ᵀ = R·[Xw, Yw, Zw]ᵀ + T ② 相机→图像: x = f·Xc/Zc, y = f·Yc/Zc ③ 图像→像素: u = x/dx + cx, v = y/dy + cy 注:R为3×3旋转矩阵,T为3×1平移向量;f为焦距,dx/dy为像元尺寸,cx/cy为主点偏移

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。机械臂控制系统即可根据该坐标规划抓取路径。

工程经验:在上述逆推过程中,深度信息 Zc 的获取是关键难点。实际工程中通常采用以下方法之一:① 已知目标位于固定平面(如传送带平面),通过平面方程计算 Zc;② 使用双目视觉或结构光传感器直接获取深度;③ 通过手眼标定后的机器人运动学约束间接求解。在 Eye-to-Hand 系统中,若相机与机械臂相对位姿固定,且工作台平面已知,则方法①最为常用。

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 轴向上。在集成视觉系统与机器人系统时,必须统一坐标轴方向约定,否则会导致旋转矩阵计算错误。建议在项目启动时制定坐标系统一规范文档,明确各坐标系原点、轴向、单位及正方向。

风险提示:在视觉引导定位系统中,坐标转换误差会直接传递到机械臂末端定位精度。一个常见的工程教训是:当视觉定位结果出现固定方向的偏差时,首先检查坐标转换链路中的符号约定(如旋转矩阵的旋转方向、平移向量的加减顺序),其次检查畸变校正是否生效,最后确认深度 Zc 的获取方式是否引入系统误差。建议在系统调试阶段使用已知位置的标准工件进行全链路验证,确保每个环节的转换误差在可控范围内。

3.4.5 总结复盘

本章系统梳理了视觉引导定位中四个核心坐标系的定义与转换关系。核心要点归纳如下:

  • 世界坐标系是参考系,用于统一描述场景中所有物体的位置,其原点与轴向根据应用场景灵活定义。
  • 相机坐标系以光心为原点,Zc 轴沿光轴方向,是连接三维世界与二维图像的关键桥梁。
  • 图像坐标系是成像平面上的连续物理坐标,单位为 mm,原点在主点位置。
  • 像素坐标系是数字图像的离散坐标,单位为 pixel,原点在图像左上角。
  • 完整转换链路为:世界坐标 →(外参 R, T)→ 相机坐标 →(内参 f, dx, dy, cx, cy)→ 图像坐标 →(离散化)→ 像素坐标。
  • 实际工程中必须考虑镜头畸变校正、坐标轴方向统一、深度信息获取等关键问题。

掌握这四个坐标系的定义与转换关系,是后续学习手眼标定、视觉引导定位算法的基础。在下一阶段,我们将深入探讨相机成像模型与标定方法,进一步理解如何通过标定获取内参与外参参数。