2. 相机成像模型:针孔相机模型、坐标系定义与内外参矩阵
相机成像模型是3D视觉定位与标定的数学基础。本章从经典的针孔相机模型出发,系统定义四个关键坐标系,并推导内参矩阵与外参矩阵的物理含义与数学形式。理解这些概念是后续进行相机标定、手眼标定及精度调试的前提。
2.1 针孔相机模型
针孔相机模型(Pinhole Camera Model)是理想化的线性成像模型。它假设光线通过一个无限小的孔(光心)投影到成像平面上,形成倒立的实像。实际相机通过镜头组等效为一个针孔,并利用传感器将光信号转换为数字图像。
针孔模型的数学关系由相似三角形导出。设空间点 \(P(X, Y, Z)\) 在相机坐标系下的坐标为 \((X_c, Y_c, Z_c)\),其理想像点 \(p(x, y)\) 满足:
\[ x = f \frac{X_c}{Z_c}, \quad y = f \frac{Y_c}{Z_c} \]其中 \(f\) 为相机焦距(物理单位,如毫米)。该关系将三维点投影到二维成像平面,但实际图像以像素为单位,因此需要引入坐标系变换。
2.2 四大坐标系定义
从三维世界到二维像素,需要依次经过四个坐标系的变换。每个坐标系都有明确的物理含义和单位。
| 坐标系 | 符号 | 单位 | 原点 | 轴定义 |
|---|---|---|---|---|
| 世界坐标系 | \(O_w - X_w Y_w Z_w\) | mm / m | 用户自定义(如标定板角点) | X/Y/Z 按右手定则,Z 通常垂直标定板 |
| 相机坐标系 | \(O_c - X_c Y_c Z_c\) | mm / m | 相机光心 O | Z 轴沿光轴指向场景,X/Y 平行于成像平面 |
| 图像坐标系 | \(o - xy\) | mm | 光轴与成像平面交点(主点) | x 水平向右,y 垂直向下(与像素行/列对齐) |
| 像素坐标系 | \(o - uv\) | pixel | 图像左上角 | u 水平向右(列),v 垂直向下(行) |
2.3 坐标系变换链
从世界坐标 \(P_w\) 到像素坐标 \(p_{uv}\) 的完整变换链包含刚体变换(外参)和投影+仿射变换(内参):
- 世界 → 相机:刚体变换(旋转 + 平移),由外参矩阵描述。
- 相机 → 图像:针孔投影(除以 Z,乘以 f),由内参中的焦距部分描述。
- 图像 → 像素:仿射变换(缩放 + 平移),由内参中的像素尺寸和主点偏移描述。
数学上,齐次坐标形式的完整投影方程为:
\[ s \begin{bmatrix} u \\ v \\ 1 \end{bmatrix} = \begin{bmatrix} f_x & 0 & c_x \\ 0 & f_y & c_y \\ 0 & 0 & 1 \end{bmatrix} \begin{bmatrix} R & t \end{bmatrix} \begin{bmatrix} X_w \\ Y_w \\ Z_w \\ 1 \end{bmatrix} \]其中 \(s\) 为尺度因子(等于 \(Z_c\)),\(f_x = f / dx\),\(f_y = f / dy\) 为以像素为单位的等效焦距,\((c_x, c_y)\) 为主点像素坐标。
2.4 内参矩阵
内参矩阵(Intrinsic Matrix)\(K\) 描述了相机内部的几何与光学属性,将相机坐标系下的三维点投影到像素平面。其标准形式为:
\[ K = \begin{bmatrix} f_x & 0 & c_x \\ 0 & f_y & c_y \\ 0 & 0 & 1 \end{bmatrix} \]| 参数 | 含义 | 单位 | 典型值范围 |
|---|---|---|---|
| \(f_x\) | 等效焦距(x方向),\(f_x = f / dx\) | pixel | 500 ~ 3000 |
| \(f_y\) | 等效焦距(y方向),\(f_y = f / dy\) | pixel | 500 ~ 3000 |
| \(c_x\) | 主点 x 坐标(光轴与图像平面交点) | pixel | 图像宽度的一半附近 |
| \(c_y\) | 主点 y 坐标 | pixel | 图像高度的一半附近 |
2.5 外参矩阵
外参矩阵(Extrinsic Matrix)描述了相机坐标系与世界坐标系之间的刚体变换关系。它由旋转矩阵 \(R\) 和平移向量 \(t\) 组成:
\[ \begin{bmatrix} R & t \end{bmatrix} = \begin{bmatrix} r_{11} & r_{12} & r_{13} & t_x \\ r_{21} & r_{22} & r_{23} & t_y \\ r_{31} & r_{32} & r_{33} & t_z \end{bmatrix} \]外参矩阵将世界坐标点变换到相机坐标系:
\[ \begin{bmatrix} X_c \\ Y_c \\ Z_c \end{bmatrix} = R \begin{bmatrix} X_w \\ Y_w \\ Z_w \end{bmatrix} + t \]| 分量 | 自由度 | 物理含义 | 标定方式 |
|---|---|---|---|
| \(R\)(旋转矩阵) | 3(欧拉角 / 轴角 / 四元数) | 世界坐标系相对于相机坐标系的姿态 | 通过PnP或标定板位姿求解 |
| \(t\)(平移向量) | 3 | 世界坐标系原点在相机坐标系中的位置 | 与旋转同时求解 |
2.6 完整投影方程与齐次坐标
将内参、外参和投影合并,得到从世界坐标到像素坐标的完整齐次投影方程:
\[ s \begin{bmatrix} u \\ v \\ 1 \end{bmatrix} = K \begin{bmatrix} R & t \end{bmatrix} \begin{bmatrix} X_w \\ Y_w \\ Z_w \\ 1 \end{bmatrix} \]其中 \(s = Z_c\) 为尺度因子。该方程是3D视觉定位中最核心的数学关系,所有标定算法(张正友标定、PnP、BA优化)都围绕它展开。
| 符号 | 维度 | 含义 |
|---|---|---|
| \([u, v, 1]^T\) | 3×1 | 像素坐标齐次形式 |
| \(s\) | 标量 | 尺度因子(深度 \(Z_c\)) |
| \(K\) | 3×3 | 内参矩阵 |
| \([R \mid t]\) | 3×4 | 外参矩阵 |
| \([X_w, Y_w, Z_w, 1]^T\) | 4×1 | 世界坐标齐次形式 |