2、视觉测量基础:成像原理、相机模型(针孔模型、畸变模型)、坐标系(世界、相机、图像、像素)及转换关系

视觉测量工具链的搭建,其底层逻辑始于对“相机如何将三维世界映射为二维图像”这一物理过程的数学抽象。无论是高精度的尺寸测量、缺陷检测,还是机器人引导中的空间定位,所有上层算法(如标定、立体匹配、点云重建)都建立在成像模型与坐标系转换的精确理解之上。若基础模型理解偏差,后续的标定参数、测量结果将产生系统性误差。本章将深入拆解针孔成像与畸变模型的数学本质,梳理四大坐标系的定义与转换链路,并通过一个实际案例演示如何将像素坐标还原为物理世界坐标。

视觉测量坐标系转换链路与成像模型 世界坐标系 (Xw, Yw, Zw) 物理空间基准 相机坐标系 (Xc, Yc, Zc) 光心为原点 图像坐标系 (x, y) 物理单位(mm) 像素坐标系 (u, v) 离散整数(pixel) R, T 刚体变换 f 透视投影 dx, dy 离散化 畸变模型(非线性补偿) 径向畸变: k1, k2, k3 切向畸变: p1, p2 校正公式: x_corr = x(1 + k1r² + k2r⁴ + k3r⁶) + 2p1xy + p2(r² + 2x²) 相机参数 内参: fx, fy, cx, cy, k1, k2, p1, p2 外参: R(3x3), T(3x1) 标定获取 完整链路: 世界点(Xw,Yw,Zw) → 刚体变换(R,T) → 相机点(Xc,Yc,Zc) → 透视投影(f) → 图像点(x,y) → 像素离散化(dx,dy) → 像素(u,v) 反向求解需先畸变校正,再通过内参逆矩阵与外参逆变换恢复三维射线

2.1 针孔成像模型:从三维空间到二维像面的数学映射

针孔模型是视觉测量的理想化基础。它假设光线沿直线传播,穿过一个无限小的“针孔”(即光心),在后方像平面上形成倒立的实像。在实际工程中,我们常将像平面虚拟到光心前方,形成正立虚像,以便于数学表达。该模型的核心是相似三角形原理:设空间点 P(Xc, Yc, Zc) 在相机坐标系下,其像点 p(x, y) 满足:

x = f * Xc / Zc
y = f * Yc / Zc

其中 f 为焦距(单位:mm)。该公式揭示了深度 Zc 对成像尺度的决定性影响——物体距离相机越远,像面尺寸越小。在视觉测量中,这意味着单目相机无法直接获取尺度,必须借助已知尺寸的标定板或立体视觉来恢复深度信息。

核心要点:针孔模型是线性映射,它建立了相机坐标系到图像坐标系的理想化关系。实际镜头因加工与装配误差,会产生畸变,因此需要在针孔模型基础上叠加畸变校正环节。

2.2 畸变模型:镜头非理想性的数学补偿

真实镜头并非完美针孔,光线通过透镜时会发生折射偏移,导致像点位置偏离理想坐标。畸变主要分为两类:

  • 径向畸变:由透镜表面曲率引起,光线越远离光轴,弯曲越严重。表现为图像边缘的“桶形”(负畸变)或“枕形”(正畸变)。用多项式系数 k1, k2, k3 描述。
  • 切向畸变:由透镜与成像传感器不平行(装配误差)引起,导致像点在切线方向偏移。用系数 p1, p2 描述。

畸变校正公式(以归一化坐标 x, y 表示)如下:

r² = x² + y²
x_corr = x * (1 + k1*r² + k2*r⁴ + k3*r⁶) + 2*p1*x*y + p2*(r² + 2*x²)
y_corr = y * (1 + k1*r² + k2*r⁴ + k3*r⁶) + p1*(r² + 2*y²) + 2*p2*x*y

在工具链搭建中,畸变系数通过标定获得(如张正友标定法)。测量软件在像素坐标提取前,必须先对原始图像进行畸变校正,否则边缘检测、特征点定位会产生亚像素级偏差,直接影响测量精度。

畸变类型产生原因数学模型对测量的影响
径向畸变透镜球面曲率k1, k2, k3 多项式边缘尺寸放大/缩小
切向畸变镜头与传感器不平行p1, p2特征点位置偏移
薄棱镜畸变镜头设计缺陷s1, s2(高阶)高精度测量需考虑

2.3 四大坐标系定义与转换关系

视觉测量涉及四个关键坐标系,它们构成了从三维世界到二维像素的完整链路:

  1. 世界坐标系 (Xw, Yw, Zw):用户自定义的参考系,用于描述被测物体在物理空间中的位置。通常以标定板角点或测量平台基准点为原点。
  2. 相机坐标系 (Xc, Yc, Zc):以相机光心为原点,Zc 轴沿光轴方向,Xc、Yc 轴平行于成像平面。世界坐标系到相机坐标系的变换为刚体变换(旋转 R + 平移 T)。
  3. 图像坐标系 (x, y):以光轴与像平面的交点(主点)为原点,单位 mm,描述像点的物理位置。
  4. 像素坐标系 (u, v):以图像左上角为原点,单位 pixel,是传感器离散化的结果。

转换公式(齐次坐标形式)如下:

Zc * [u, v, 1]ᵀ = K * [R | T] * [Xw, Yw, Zw, 1]ᵀ

其中内参矩阵 K 为:

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

fx = f/dx,fy = f/dy,dx、dy 为单个像素的物理尺寸(mm/pixel),cx、cy 为主点像素坐标。

工程经验:在搭建测量工具链时,务必确认 dx 与 dy 是否相等。若不等(像素非正方形),则 fx ≠ fy,需分别标定。此外,主点 (cx, cy) 并非总在图像中心,其偏移量是镜头装配误差的直接体现。

2.4 案例拆解:像素坐标到世界坐标的还原

场景:某产线使用 500 万像素工业相机(分辨率 2448×2048,像素尺寸 3.45μm)测量 PCB 板上焊盘间距,要求精度 ±0.02mm。相机固定于 Z 轴运动模组上,工作距离 200mm。

初始现象:直接使用像素距离乘以像素尺寸(3.45μm)计算,测量结果与三坐标测量机(CMM)比对偏差达 0.15mm,超出公差。

分析过程:

  1. 检查发现镜头焦距 12mm,存在明显径向畸变(边缘区域桶形畸变约 2 像素)。
  2. 相机光轴与 PCB 表面存在约 0.5° 倾斜,导致透视变形。
  3. 未进行畸变校正与坐标系转换,直接按等比例换算。

解决步骤:

  • 使用 12×9 棋盘格标定板(格宽 5mm)拍摄 15 张不同位姿图像,通过 OpenCV 标定获取内参 fx=3482.3, fy=3481.9, cx=1223.5, cy=1024.1,畸变系数 k1=-0.112, k2=0.083, p1=-0.0002, p2=0.0001。
  • 对测量图像进行畸变校正(remap 操作)。
  • 利用标定板建立世界坐标系(以板面为 Z=0 平面),求解外参 R、T。
  • 将焊盘中心像素坐标 (u,v) 通过逆变换映射到世界坐标 (Xw, Yw)。

结果对比:校正后测量值与 CMM 偏差降至 0.008mm,满足精度要求。同时发现,若仅做畸变校正而不做透视校正,边缘区域误差仍达 0.05mm,证明完整坐标系转换的必要性。

风险提示:标定板平面度需优于 0.005mm,且拍摄时标定板应覆盖视场 1/3 以上区域。若标定板翘曲或光照不均,将导致内参估计偏差,进而影响所有后续测量。

2.5 常见误区与总结复盘

误区一:忽略主点偏移。部分工程师将图像中心直接作为主点,导致测量结果在视场边缘产生系统性偏移。正确做法是通过标定获取实际主点坐标。

误区二:畸变校正与图像缩放顺序颠倒。应先校正畸变,再进行缩放或裁剪,否则会引入新的几何误差。

误区三:混淆图像坐标系与像素坐标系。图像坐标系的单位是 mm,像素坐标系的单位是 pixel,两者转换需乘以像素尺寸,且 y 轴方向相反(图像坐标系 y 轴向上,像素坐标系 y 轴向下)。

误区四:外参的时变性。相机与工件相对位置变化后,必须重新求解外参。在运动模组上,每次移动后需通过视觉伺服或编码器反馈更新外参。

环节关键参数验证方法常见错误
内参标定fx, fy, cx, cy, k1, k2, p1, p2重投影误差 < 0.05 pixel标定板不平整
外参标定R, T已知距离点反算误差标定板位姿单一
畸变校正校正后图像直线度边缘直线拟合残差校正顺序错误
坐标转换逆变换矩阵标准件测量比对忽略 Z 方向高度

总结:视觉测量的精度上限由成像模型与标定精度共同决定。针孔模型提供了线性框架,畸变模型补偿了镜头缺陷,而四大坐标系的严格转换确保了从像素到物理世界的可追溯性。在工具链搭建中,建议将标定模块作为独立组件,输出标准化的内参、外参与畸变系数,供测量、定位、检测等下游模块调用。同时,建立定期复标机制(如每 500 小时或温度变化超过 ±5℃ 时),以抑制温漂与机械振动带来的参数漂移。