3. 3D视觉基础
在机器人手眼标定与3D视觉定位任务中,理解相机如何将三维世界映射到二维图像是第一步。本章将深入剖析相机成像的几何原理,重点讲解针孔相机模型、内参矩阵与外参矩阵的数学定义与物理意义,为后续的标定与位姿解算奠定理论基础。
3.1 相机成像模型概述
相机成像的本质是一个从3D世界坐标到2D像素坐标的映射过程。这个映射通常涉及四个坐标系的连续变换:世界坐标系 → 相机坐标系 → 图像物理坐标系 → 图像像素坐标系。
下表总结了四个坐标系及其在成像过程中的作用:
| 坐标系名称 | 符号 | 维度 | 描述 |
|---|---|---|---|
| 世界坐标系 | Ow - XwYwZw | 3D | 用户定义的真实世界参考系,描述物体和相机的位置 |
| 相机坐标系 | Oc - XcYcZc | 3D | 以相机光心为原点,Zc轴指向相机前方 |
| 图像物理坐标系 | o - xy | 2D | 位于成像平面,以光轴与平面交点为原点,单位mm |
| 图像像素坐标系 | o0 - uv | 2D | 位于成像平面,以图像左上角为原点,单位pixel |
3.2 针孔相机模型
针孔相机模型假设光线沿直线传播,穿过一个无限小的针孔(光心),在成像平面上形成倒立的实像。为简化数学表达,通常将成像平面对称地放置在光心前方(虚拟成像平面),从而得到正立的图像。
根据相似三角形原理,空间点 P(Xc, Yc, Zc) 在相机坐标系下的坐标与其在图像物理坐标系下的投影点 p(x, y) 满足:
x = f * (X<sub>c</sub> / Z<sub>c</sub>)
y = f * (Y<sub>c</sub> / Z<sub>c</sub>)
其中,f 为相机焦距(光心到成像平面的距离)。
下面的SVG图展示了针孔相机模型的几何关系与坐标系变换流程:
3.3 内参矩阵
内参矩阵描述了相机坐标系下的3D点投影到2D像素坐标系的内部几何与光学特性。它将图像物理坐标 (x, y) 转换为像素坐标 (u, v),并引入像素的尺度因子和主点偏移。
内参矩阵 K 的数学形式为:
K = [ f<sub>x</sub> 0 c<sub>x</sub> ]
[ 0 f<sub>y</sub> c<sub>y</sub> ]
[ 0 0 1 ]
其中各参数的含义如下表所示:
| 参数 | 符号 | 单位 | 物理意义 |
|---|---|---|---|
| 焦距在x方向 | fx = f / dx | pixel | 焦距在像素坐标系x轴上的尺度,dx为单个像素的物理宽度 |
| 焦距在y方向 | fy = f / dy | pixel | 焦距在像素坐标系y轴上的尺度,dy为单个像素的物理高度 |
| 主点x坐标 | cx | pixel | 光轴与成像平面交点在像素坐标系中的u坐标 |
| 主点y坐标 | cy | pixel | 光轴与成像平面交点在像素坐标系中的v坐标 |
完整的投影方程(从相机坐标系到像素坐标系)为:
s * [u] = K * [X<sub>c</sub>]
[v] [Y<sub>c</sub>]
[1] [Z<sub>c</sub>]
其中 s 为尺度因子(通常等于 Zc),用于将齐次坐标归一化。
3.4 外参矩阵
外参矩阵描述了世界坐标系与相机坐标系之间的刚体变换关系,即旋转和平移。它将世界坐标系下的3D点 Pw 变换到相机坐标系下的 Pc。
外参矩阵由旋转矩阵 R 和平移向量 t 组成:
[X<sub>c</sub>] = [ R t ] * [X<sub>w</sub>]
[Y<sub>c</sub>] [ 0 1 ] [Y<sub>w</sub>]
[Z<sub>c</sub>] [Z<sub>w</sub>]
[1 ] [1 ]
其中:
- R:3×3 旋转矩阵,描述世界坐标系相对于相机坐标系的姿态(朝向)。
- t:3×1 平移向量,描述世界坐标系原点在相机坐标系下的位置。
下面的SVG图展示了外参矩阵如何将世界坐标系中的点变换到相机坐标系:
3.5 完整成像方程
将内参和外参结合起来,就得到了从世界坐标系到像素坐标系的完整映射方程:
s * [u] = K * [ R | t ] * [X<sub>w</sub>]
[v] [Y<sub>w</sub>]
[1] [Z<sub>w</sub>]
[1 ]
这个方程是3D视觉定位的基石。在机器人手眼标定中,我们通过已知的3D-2D对应点对,求解外参矩阵 [R | t](即相机位姿),或同时优化内参 K 和外参(即标定过程)。
- 内参标定:通常使用棋盘格标定板,拍摄多张不同角度的图像,利用张正友标定法求解 K 和畸变系数。
- 外参求解:在已知内参 K 的前提下,通过PnP(Perspective-n-Point)算法,利用至少3个(最好4个以上)非共线的3D-2D点对求解 [R | t]。
- 畸变校正:实际镜头存在径向畸变和切向畸变,在标定和定位前必须进行校正,否则会引入系统性误差。
下表总结了内参与外参的核心区别:
| 对比维度 | 内参矩阵 K | 外参矩阵 [R | t] |
|---|---|---|
| 描述对象 | 相机自身的内部几何与光学特性 | 相机在世界坐标系中的位姿 |
| 是否随相机移动变化 | 固定不变(除非变焦或更换镜头) | 随相机移动而改变 |
| 自由度 | 4个(fx, fy, cx, cy) | 6个(3旋转 + 3平移) |
| 标定时机 | 出厂标定或使用前一次性标定 | 每次相机安装或移动后重新标定 |
| 在机器人手眼标定中的作用 | 已知量,用于将像素坐标反投影到相机坐标系 | 待求解量,建立相机与机器人之间的坐标变换 |
理解并掌握内参矩阵与外参矩阵的物理意义和数学形式,是后续进行手眼标定、3D重建、视觉伺服等高级任务的前提。在下一阶段的实战中,我们将基于这些知识,使用真实相机数据完成标定与定位。