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\) 为相机焦距(物理单位,如毫米)。该关系将三维点投影到二维成像平面,但实际图像以像素为单位,因此需要引入坐标系变换。

针孔相机成像几何示意图 针孔相机成像几何 O 成像平面 f P(X,Y,Z) p(x,y) 关键几何关系 x = f·X/Z y = f·Y/Z 像倒立,模型取正立等效

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 垂直向下(行)
注意: 图像坐标系与像素坐标系容易混淆。图像坐标系以物理长度(mm)为单位,原点在主点;像素坐标系以像素为单位,原点在左上角。两者通过像素尺寸和主点偏移进行转换。

2.3 坐标系变换链

从世界坐标 \(P_w\) 到像素坐标 \(p_{uv}\) 的完整变换链包含刚体变换(外参)和投影+仿射变换(内参):

  1. 世界 → 相机:刚体变换(旋转 + 平移),由外参矩阵描述。
  2. 相机 → 图像:针孔投影(除以 Z,乘以 f),由内参中的焦距部分描述。
  3. 图像 → 像素:仿射变换(缩放 + 平移),由内参中的像素尺寸和主点偏移描述。

数学上,齐次坐标形式的完整投影方程为:

\[ 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)\) 为主点像素坐标。

坐标系变换链流程图 从世界坐标到像素坐标的变换链 世界坐标系 相机坐标系 图像坐标系 像素坐标系 外参 R, t 投影 f 仿射 dx, dy, cx, cy 变换链总结 世界 → 相机:刚体变换(外参) | 相机 → 图像:透视投影 | 图像 → 像素:仿射变换(内参)

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 图像高度的一半附近
标定注意: 实际相机可能存在像素非正方形(\(f_x \neq f_y\))和主点偏移(\(c_x, c_y\) 偏离图像中心)。内参标定的核心就是精确估计这4个参数以及畸变系数。

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 世界坐标系原点在相机坐标系中的位置 与旋转同时求解
关键理解: 外参矩阵将世界坐标“对齐”到相机视角。在3D视觉定位中,外参的精度直接影响目标在相机坐标系下的位置估计。手眼标定(机器人-相机标定)的核心就是求解外参矩阵。

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 世界坐标齐次形式
工程提示: 在实际标定中,通常使用棋盘格或圆点标定板,已知标定板上角点的世界坐标(通常设 Z=0),通过多张不同位姿的图像,利用最小二乘或非线性优化同时求解内参和外参。张正友标定法正是基于这一原理。