2. 相机成像几何模型
工业视觉系统的所有几何测量,最终都要回答一个问题:空间中某个物理点,究竟落在图像的哪个像素上?反过来,图像上的某个像素,又对应空间中哪条射线?要回答这两个问题,必须建立一套完整的成像几何模型。本节以最经典的针孔模型为基础,把内参矩阵、外参矩阵、齐次坐标变换串成一条从世界坐标系到像素坐标系的完整映射链,并说明每个环节的物理含义与工程作用。
一、针孔模型:把三维空间投影到二维像面
针孔模型(Pinhole Model)是工业相机成像的基准近似。它假设所有光线都通过一个理想的光心点,并在像平面上形成倒立的投影。设相机坐标系下一点为 Pc = (Xc, Yc, Zc),焦距为 f,则根据相似三角形关系,该点在像平面上的物理坐标为:
x = f · Xc / Zc
y = f · Yc / Zc
这里 Zc 是点在相机坐标系下的深度。这个除法正是透视投影的本质:同样大小的物体,离相机越远,成像越小。工业镜头虽然存在畸变,但在标定与校正之后,仍以针孔模型作为主模型来描述理想投影关系。
二、内参矩阵:像素坐标与物理尺寸的桥梁
像平面上的物理坐标单位是毫米,而图像输出单位是像素,两者之间需要缩放和平移。设单个像素在 x、y 方向的物理尺寸为 dx、dy,主点(光轴与像平面交点)像素坐标为 (u0, v0),则:
u = x / dx + u0 = fx · Xc / Zc + u0
v = y / dy + v0 = fy · Yc / Zc + v0
其中 fx = f / dx、fy = f / dy 称为等效焦距,单位是像素。写成矩阵形式即得到内参矩阵 K:
K = [ fx s u0 ]
[ 0 fy v0 ]
[ 0 0 1 ]
参数 s 是倾斜因子,理想情况下为 0,用于描述像素轴不完全垂直的微小偏差。内参矩阵只与相机和镜头自身有关,与相机在空间中的摆放位置无关,因此标定一次即可长期复用(前提是焦距、对焦状态不变)。
三、外参矩阵:把世界坐标搬到相机坐标
世界坐标系是人为定义的、与工件或标定板固连的坐标系。相机坐标系以光心为原点、光轴为 Z 轴。两者之间通过刚体变换联系:先旋转,再平移。设旋转矩阵为 R(3×3,正交且行列式为 1),平移向量为 t(3×1),则:
Pc = R · Pw + t
外参矩阵由 R 和 t 共同构成,共 6 个自由度(3 个旋转、3 个平移)。它描述的是相机相对于世界坐标系的位置和姿态。在多相机系统中,每个相机都有各自的外参,这正是后续坐标统一的关键。
四、齐次坐标:把旋转和平移合并成一次乘法
旋转加平移是“先乘后加”,不便于连续变换的链式表达。引入齐次坐标后,可以把三维点写成四维向量 [X, Y, Z, 1]ᵀ,于是外参变换变为单个 4×4 矩阵乘法:
[ Pc ] [ R t ] [ Pw ]
[ 1 ] = [ 0 1 ] [ 1 ]
齐次坐标的另一个好处是:投影过程中的除法(除以 Zc)也可以纳入矩阵框架,使整条映射链统一为矩阵连乘。这正是下面完整映射链能够简洁表达的原因。
五、完整映射链:世界坐标 → 像素坐标
把上述环节串联起来,从世界坐标 Pw 到像素坐标 (u, v) 的完整映射为:
Zc · [u, v, 1]ᵀ = K · [R | t] · [Xw, Yw, Zw, 1]ᵀ
展开后即:
u = (fx · (R11·Xw + R12·Yw + R13·Zw + tx) / Zc) + u0
v = (fy · (R21·Xw + R22·Yw + R23·Zw + ty) / Zc) + v0
Zc = R31·Xw + R32·Yw + R33·Zw + tz
这条链的工程意义在于:内参 K 决定“像素怎么量”,外参 [R|t] 决定“相机在哪、朝哪”,两者相乘得到投影矩阵 P = K·[R|t],共 11 个独立参数。标定的本质,就是通过已知世界坐标与对应像素坐标的若干组点,求解这 11 个参数。
示例说明:假设某工业相机标定后得到 fx = 2400 px、fy = 2400 px、u0 = 640 px、v0 = 512 px,外参中 tz = 500 mm,R 为单位阵(相机正对工件)。若世界坐标点 Pw = (50, 30, 0) mm,则 Zc = 500 mm,u = 2400×50/500 + 640 = 880 px,v = 2400×30/500 + 512 = 656 px。以上数值为教学示例,用于说明计算过程,并非实测结果。
六、映射链的可视化
下图把世界坐标系、外参变换、相机坐标系、透视投影、内参变换、像素坐标系依次串联,并标注了每个环节的输入输出与关键参数,帮助建立整条链路的空间直觉。
七、工程要点与常见误区
理解这条映射链后,有几个工程细节必须注意。第一,内参与外参的职责边界要分清:内参描述“相机自身”,外参描述“相机在哪”,标定时两者通常联合求解,但使用中内参可复用、外参随安装变化。第二,齐次坐标中的 Zc 是缩放因子,不能省略,否则无法从像素反推空间点。第三,单目相机从像素反投影只能得到一条射线,要确定空间三维点还需额外约束(如已知平面、双目或多传感器融合)。第四,实际镜头存在径向和切向畸变,完整模型应在透视投影前加入畸变校正,这部分将在后续畸变校正章节展开。
注意:若标定后测量误差随视场边缘明显增大,往往不是内参求解错误,而是畸变未充分建模或外参在标定后发生了微小变动。排查时应先固定相机与镜头,再重新采集标定图像验证重投影误差。
掌握这条从世界坐标到像素坐标的完整映射链,是后续相机标定、手眼标定、多相机坐标统一和三维重建的共同基础。任何复杂的工业视觉几何问题,最终都可以还原为这条链上某个环节的参数求解或误差分析。