2、成像基础:针孔相机模型、坐标系转换(世界、相机、图像、像素)、内参外参概念

工业视觉系统的核心任务是从二维图像中恢复或理解三维场景信息,而这一切的起点,是理解相机如何将三维世界投影为二维图像。针孔相机模型(Pinhole Camera Model)是这一过程的数学抽象,它忽略了镜头畸变、透镜厚度等物理细节,用最简单的几何关系描述了光的直线传播。在此基础上,世界坐标系、相机坐标系、图像坐标系与像素坐标系之间的转换,构成了视觉测量与标定的骨架。而内参(Intrinsics)与外参(Extrinsics)则是连接这些坐标系的“钥匙”——内参描述相机自身的投影属性,外参描述相机在空间中的位姿。本章将系统拆解这些基础概念,为后续畸变校正与标定方法奠定坚实的数学与物理基础。

针孔相机模型与坐标系转换链路 世界坐标系 (Xw, Yw, Zw) 单位:mm / m 客观三维空间基准 R, t 外参 相机坐标系 (Xc, Yc, Zc) 光心为原点 Zc 指向场景前方 透视投影 f, dx, dy, cx, cy 图像坐标系 (x, y) 单位:mm 物理成像平面 离散化 dx, dy, u0, v0 像素坐标系 (u, v) 单位:pixel 图像数组索引 内参矩阵 K(相机固有属性) K = [ fx 0 cx ] [ 0 fy cy ] [ 0 0 1 ] fx = f / dx,fy = f / dy(归一化焦距) cx, cy:主点偏移(像素) 畸变系数 k1, k2, p1, p2, k3 另存 外参(相机位姿) R(3×3 旋转矩阵) t(3×1 平移向量) 世界系 → 相机系 完整投影公式(齐次坐标) Zc · [u, v, 1]ᵀ = K · [R | t] · [Xw, Yw, Zw, 1]ᵀ 其中 [R | t] 为 3×4 外参矩阵,K 为 3×3 内参矩阵 畸变模型在归一化坐标处叠加:x_distorted = x(1 + k1·r² + k2·r⁴ + k3·r⁶) + 2p1·xy + p2(r² + 2x²)

上图展示了从三维世界到二维像素的完整链路。理解这条链路,是后续进行畸变校正、手眼标定、三维重建的前提。下面我们逐一拆解每个环节的数学本质与工程含义。

2.1 针孔相机模型:光的直线传播与透视投影

针孔相机模型是几何光学中最简化的成像模型。它假设光线从场景中的某一点出发,沿直线穿过一个无限小的“针孔”(即光心),在另一侧的成像平面上形成倒立的实像。在实际工程中,我们通常将成像平面“虚拟”到光心前方,以得到正立的图像,便于数学处理。

该模型的核心参数是焦距 f,即光心到成像平面的距离。设场景中某点 P 在相机坐标系下的坐标为 (Xc, Yc, Zc),其成像点 p 在图像坐标系下的坐标 (x, y) 满足:

x = f · (Xc / Zc)
y = f · (Yc / Zc)

这里 Zc 是点到光心的深度。这个简单的除法关系揭示了透视投影的本质:近大远小。物体离相机越远,其在成像平面上的投影越小。同时,该模型是线性的(在齐次坐标下),这为后续矩阵运算提供了极大便利。

工程提示: 针孔模型是理想模型。实际镜头存在畸变(径向畸变、切向畸变),且主点(光轴与成像平面的交点)不一定在图像中心。因此,标定的核心任务之一就是求解这些偏离理想模型的参数。

2.2 四大坐标系的定义与转换关系

在视觉系统中,我们频繁地在四个坐标系之间切换。每个坐标系都有其独特的物理意义和单位。

坐标系 符号 原点/基准 单位 典型用途
世界坐标系 (Xw, Yw, Zw) 用户自定义(如工件台一角) mm / m 描述物体在物理空间中的位置
相机坐标系 (Xc, Yc, Zc) 光心(镜头中心) mm 描述物体相对于相机的方位与深度
图像坐标系 (x, y) 光轴与成像平面交点(主点) mm 物理成像平面上的连续坐标
像素坐标系 (u, v) 图像左上角 pixel 图像数组的行列索引

转换过程分为三步:

  1. 世界 → 相机(外参):通过旋转矩阵 R 和平移向量 t 将点从世界系变换到相机系。公式为:
    [Xc, Yc, Zc]ᵀ = R · [Xw, Yw, Zw]ᵀ + t
  2. 相机 → 图像(内参投影):利用针孔模型将三维点投影到二维图像平面:
    x = f · Xc / Zc,y = f · Yc / Zc
  3. 图像 → 像素(离散化):将物理坐标转换为像素索引,考虑像素尺寸和主点偏移:
    u = x / dx + cx,v = y / dy + cy
    其中 dx、dy 分别为每个像素在 x、y 方向上的物理尺寸(mm/pixel),cx、cy 为主点在像素坐标系中的坐标。
常见误区: 初学者常混淆图像坐标系与像素坐标系。图像坐标系的原点在主点,单位是毫米;像素坐标系的原点在左上角,单位是像素。两者之间的转换涉及缩放(dx, dy)和平移(cx, cy),不能直接等同。

2.3 内参与外参:相机的“基因”与“姿态”

内参(Intrinsic Parameters) 描述了相机自身的投影属性,包括焦距 f、像素尺寸 dx/dy、主点坐标 (cx, cy) 以及畸变系数。内参矩阵 K 将相机坐标系下的三维点映射到像素坐标系:

K = [ fx  0  cx ]
    [  0 fy  cy ]
    [  0  0   1 ]

其中 fx = f/dx,fy = f/dy,称为归一化焦距,单位是像素。fx 与 fy 的差异反映了像素在 x、y 方向上的尺寸不一致(常见于 CMOS 传感器)。

外参(Extrinsic Parameters) 描述了相机在世界坐标系中的位置和朝向,由旋转矩阵 R(3×3)和平移向量 t(3×1)组成。外参将世界坐标转换为相机坐标,是连接“客观世界”与“相机视角”的桥梁。

关键理解: 内参是相机的固有属性,不随相机移动而改变;外参则随相机位姿变化。在固定相机视觉系统中,外参通常标定一次即可;在机械臂视觉引导中,外参可能随机械臂运动而实时变化。

2.4 案例拆解:从标定板到像素坐标的完整计算

假设我们使用一个 10mm×10mm 的棋盘格标定板,方格边长为 1mm。标定板放置在世界坐标系的原点平面上(Zw=0)。相机分辨率为 1280×1024,主点 (cx, cy) = (640, 512),焦距 f = 8mm,像素尺寸 dx = dy = 0.004mm/pixel。

目标: 计算标定板上一个角点 P(世界坐标 (2mm, 3mm, 0))在像素坐标系中的位置。

步骤 1:外参变换。假设相机外参为:R = 单位矩阵(相机光轴垂直于标定板),t = [0, 0, 100mm](相机光心位于标定板正上方 100mm 处)。则相机坐标:

Xc = 2mm, Yc = 3mm, Zc = 100mm

步骤 2:内参投影。计算归一化焦距:

fx = f / dx = 8 / 0.004 = 2000 pixel
fy = f / dy = 2000 pixel

投影到图像坐标系:

x = fx · (Xc / Zc) = 2000 × (2 / 100) = 40 mm
y = fy · (Yc / Zc) = 2000 × (3 / 100) = 60 mm

步骤 3:像素坐标转换:

u = x / dx + cx = 40 / 0.004 + 640 = 10000 + 640 = 10640 pixel
v = y / dy + cy = 60 / 0.004 + 512 = 15000 + 512 = 15512 pixel

显然,这个结果超出了图像分辨率范围,说明该点不在视场内。这个计算过程展示了如何从三维坐标推导像素位置,也揭示了视场角(FOV)的限制。

复盘: 在实际标定中,我们通常反其道而行之——从已知的像素坐标和世界坐标,反向求解内参和外参。这正是张正友标定法的核心思想:利用多张不同位姿的标定板图像,建立超定方程组,通过最小二乘求解最优参数。

2.5 常见误区与工程要点

  • 误区一:忽略主点偏移。 很多入门者假设主点就在图像中心,但实际传感器安装、镜头装配误差会导致主点偏移数十像素。高精度测量必须将 cx、cy 作为待标定参数。
  • 误区二:混淆内参中的 fx 与 f。 fx 是归一化焦距(像素单位),f 是物理焦距(毫米单位)。两者通过像素尺寸 dx 联系。在标定结果中,我们通常直接得到 fx、fy。
  • 误区三:外参的旋转矩阵 R 必须满足正交约束。 R 是正交矩阵(RᵀR = I,det(R) = 1)。在优化过程中需使用 Rodrigues 变换或四元数表示以避免参数冗余。
  • 误区四:忽略畸变对坐标转换的影响。 针孔模型是理想情况,实际镜头存在径向畸变(桶形/枕形)和切向畸变。在标定和校正时,必须先对归一化坐标进行畸变补偿,再进行像素坐标转换。
工程风险提示: 在视觉引导机器人抓取等应用中,外参标定的误差会直接导致抓取位置偏差。例如,若平移向量 t 的标定误差为 0.5mm,在 500mm 工作距离下,可能造成数毫米的末端定位误差。因此,外参标定通常需要多次采样并采用重投影误差(Reprojection Error)作为精度评价指标。

本章建立的坐标系转换框架是后续所有标定与校正算法的数学基础。无论是张正友标定法、Tsai 两步法,还是基于深度学习的方法,本质上都是在求解内参矩阵 K、畸变系数以及外参 [R|t] 的最优估计。理解这些概念,将帮助你在实际项目中快速定位误差来源,并选择合适的标定策略。