2、视觉测量基础:成像原理、相机模型(针孔模型、畸变模型)、坐标系(世界、相机、图像、像素)及转换关系
视觉测量工具链的搭建,其底层逻辑始于对“相机如何将三维世界映射为二维图像”这一物理过程的数学抽象。无论是高精度的尺寸测量、缺陷检测,还是机器人引导中的空间定位,所有上层算法(如标定、立体匹配、点云重建)都建立在成像模型与坐标系转换的精确理解之上。若基础模型理解偏差,后续的标定参数、测量结果将产生系统性误差。本章将深入拆解针孔成像与畸变模型的数学本质,梳理四大坐标系的定义与转换链路,并通过一个实际案例演示如何将像素坐标还原为物理世界坐标。
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 四大坐标系定义与转换关系
视觉测量涉及四个关键坐标系,它们构成了从三维世界到二维像素的完整链路:
- 世界坐标系 (Xw, Yw, Zw):用户自定义的参考系,用于描述被测物体在物理空间中的位置。通常以标定板角点或测量平台基准点为原点。
- 相机坐标系 (Xc, Yc, Zc):以相机光心为原点,Zc 轴沿光轴方向,Xc、Yc 轴平行于成像平面。世界坐标系到相机坐标系的变换为刚体变换(旋转 R + 平移 T)。
- 图像坐标系 (x, y):以光轴与像平面的交点(主点)为原点,单位 mm,描述像点的物理位置。
- 像素坐标系 (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 为主点像素坐标。
2.4 案例拆解:像素坐标到世界坐标的还原
场景:某产线使用 500 万像素工业相机(分辨率 2448×2048,像素尺寸 3.45μm)测量 PCB 板上焊盘间距,要求精度 ±0.02mm。相机固定于 Z 轴运动模组上,工作距离 200mm。
初始现象:直接使用像素距离乘以像素尺寸(3.45μm)计算,测量结果与三坐标测量机(CMM)比对偏差达 0.15mm,超出公差。
分析过程:
- 检查发现镜头焦距 12mm,存在明显径向畸变(边缘区域桶形畸变约 2 像素)。
- 相机光轴与 PCB 表面存在约 0.5° 倾斜,导致透视变形。
- 未进行畸变校正与坐标系转换,直接按等比例换算。
解决步骤:
- 使用 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,证明完整坐标系转换的必要性。
2.5 常见误区与总结复盘
误区一:忽略主点偏移。部分工程师将图像中心直接作为主点,导致测量结果在视场边缘产生系统性偏移。正确做法是通过标定获取实际主点坐标。
误区二:畸变校正与图像缩放顺序颠倒。应先校正畸变,再进行缩放或裁剪,否则会引入新的几何误差。
误区三:混淆图像坐标系与像素坐标系。图像坐标系的单位是 mm,像素坐标系的单位是 pixel,两者转换需乘以像素尺寸,且 y 轴方向相反(图像坐标系 y 轴向上,像素坐标系 y 轴向下)。
误区四:外参的时变性。相机与工件相对位置变化后,必须重新求解外参。在运动模组上,每次移动后需通过视觉伺服或编码器反馈更新外参。
| 环节 | 关键参数 | 验证方法 | 常见错误 |
|---|---|---|---|
| 内参标定 | fx, fy, cx, cy, k1, k2, p1, p2 | 重投影误差 < 0.05 pixel | 标定板不平整 |
| 外参标定 | R, T | 已知距离点反算误差 | 标定板位姿单一 |
| 畸变校正 | 校正后图像直线度 | 边缘直线拟合残差 | 校正顺序错误 |
| 坐标转换 | 逆变换矩阵 | 标准件测量比对 | 忽略 Z 方向高度 |
总结:视觉测量的精度上限由成像模型与标定精度共同决定。针孔模型提供了线性框架,畸变模型补偿了镜头缺陷,而四大坐标系的严格转换确保了从像素到物理世界的可追溯性。在工具链搭建中,建议将标定模块作为独立组件,输出标准化的内参、外参与畸变系数,供测量、定位、检测等下游模块调用。同时,建立定期复标机制(如每 500 小时或温度变化超过 ±5℃ 时),以抑制温漂与机械振动带来的参数漂移。