2、双目视觉基础:双目成像原理、视差与深度关系、极线几何基本概念

双目视觉的核心是模拟人类双眼感知深度的方式:两个水平放置的相机从略有差异的角度观察同一场景,通过匹配两幅图像中的对应点,利用三角测量原理计算出物体的三维坐标。本章将系统讲解双目成像的物理基础、视差与深度的数学关系,以及极线几何这一约束匹配搜索范围的核心理论。理解这些概念是后续标定板设计、立体匹配算法实现和三维重建精度分析的前提。

双目视觉核心链路:成像 → 匹配 → 深度计算 左相机 OL 光心坐标 (0,0,0) 焦距 f 右相机 OR 光心坐标 (b,0,0) 焦距 f 基线距离 b(两光心间距) 空间点 P (X, Y, Z) 左成像面 像点 pL (xL, yL) 右成像面 像点 pR (xR, yR) 视差 d = xL - xR 深度 Z = (f × b) / d f: 焦距 | b: 基线 | d: 视差 极线约束 匹配点必在对应极线上 搜索降维 2D搜索 → 1D搜索

2.1 双目成像原理:从针孔模型到双目系统

单目相机成像遵循针孔模型:空间点 P(X, Y, Z) 通过光心投影到成像平面,形成像点 p(x, y)。该过程可用齐次坐标表示为:

λ [x; y; 1] = K [R|t] [X; Y; Z; 1]

其中 K 为内参矩阵(包含焦距 f、主点 cx, cy),[R|t] 为外参矩阵(旋转和平移)。单目相机丢失了深度信息 Z——不同深度的点可能投影到同一像素位置。双目系统通过引入第二个相机,利用两幅图像的视差恢复深度。

双目成像的物理基础是三角测量:两个相机光心 OL 和 OR 之间的距离称为基线 b。空间点 P 与两个光心构成一个三角形,若已知基线和两个投影角度,即可唯一确定 P 的三维坐标。实际系统中,左右相机通常平行放置(理想情况),光轴平行且成像平面共面,此时成像模型简化为:

  • 左相机坐标系:以 OL 为原点,光轴指向 Z 轴正方向
  • 右相机坐标系:以 OR 为原点,与左相机仅存在沿 X 轴的平移 b
  • 成像关系:空间点 P 在左像面投影为 pL(xL, yL),在右像面投影为 pR(xR, yR)

由于两相机水平排列,同名点的 y 坐标相同(理想平行配置),仅 x 坐标存在差异,这个差异就是视差 d = xL - xR。视差与深度成反比:物体越近,视差越大;物体越远,视差趋近于零。

关键参数说明:实际双目系统中,基线 b 和焦距 f 是决定深度测量范围的核心参数。基线越长,近处深度分辨率越高,但视野重叠区域减小;焦距越长,视差对深度的敏感度越高,但视场角变窄。设计标定板时,需根据目标测量距离和精度要求权衡这两个参数。

2.2 视差与深度关系:数学推导与精度分析

在理想平行双目系统中,深度 Z 与视差 d 的关系为:

Z = (f × b) / d

其中 f 为焦距(像素单位),b 为基线长度(毫米),d 为视差(像素)。该公式的推导基于相似三角形原理:空间点 P 到基线的垂直距离 Z,与左右像点之间的水平距离成反比。

深度精度分析是工程实践中的关键环节。对上述公式求偏导,可得深度误差与视差误差的关系:

∂Z/∂d = -(f × b) / d² = -Z² / (f × b)

这意味着:

  • 深度误差与 Z² 成正比:物体越远,深度误差急剧增大
  • 深度误差与 f × b 成反比:增大基线或焦距可提升精度
  • 视差误差 d 受限于像素分辨率:亚像素匹配算法可将误差降至 0.1 像素以内
参数 典型值 对深度精度的影响 设计权衡
基线 b 50-200 mm 增大 b → 精度提升 视野重叠减少,结构尺寸增大
焦距 f 6-25 mm 增大 f → 精度提升 视场角变窄,近距盲区增大
传感器分辨率 1280×720 至 4096×2160 分辨率越高 → 视差量化误差越小 数据量增大,处理延迟增加
匹配算法 SAD / Census / SGM 亚像素精度可达 0.1-0.3 px 计算复杂度与精度平衡
工程经验:当测量距离为 1-3 米时,建议基线取 100-200 mm,焦距取 8-16 mm,传感器分辨率不低于 1920×1080。此时深度精度可达毫米级。若测量距离超过 5 米,需显著增大基线或采用更高分辨率传感器,否则深度误差将呈平方级增长。

2.3 极线几何基本概念:约束匹配搜索空间

极线几何描述了双目系统中两幅图像之间的几何约束关系。对于左图像上的任意点 pL,其在右图像上的对应点 pR 必然位于一条直线上——这条直线称为极线。这一约束将二维搜索问题降维为一维搜索,大幅提升匹配效率和可靠性。

极线几何的核心要素包括:

  • 极点(Epipole):左相机光心在右成像面上的投影点 eR,以及右相机光心在左成像面上的投影点 eL
  • 极线(Epipolar Line):空间点 P、两个光心 OL、OR 确定的平面(极平面)与成像面的交线
  • 本质矩阵 E 和基础矩阵 F:描述左右图像点对应关系的代数表达,E 用于已标定相机(归一化坐标),F 用于未标定相机(像素坐标)

数学上,对应点满足约束:

pR^T × F × pL = 0

其中 F 为 3×3 基础矩阵,秩为 2。通过标定获得 F 矩阵后,即可计算任意点的极线方程。

极线校正(Rectification):实际双目系统难以做到完美平行,通常通过极线校正将图像变换为理想平行配置。校正后,极线变为水平线,对应点的 y 坐标相同,匹配搜索简化为沿水平方向的扫描。这一步骤是双目视觉系统标定和预处理的核心环节。

2.4 案例拆解:双目测距系统的精度验证

某机器人避障系统需要测量 0.5-4 米范围内的障碍物距离,要求深度误差小于 2%。系统选用双目相机,基线 b=120 mm,焦距 f=8 mm(等效像素焦距 f_px = 1450 px),传感器分辨率为 1920×1080。

初始参数验证:

  1. 在 Z=1 m 处,视差 d = f_px × b / Z = 1450 × 120 / 1000 = 174 px
  2. 在 Z=4 m 处,视差 d = 1450 × 120 / 4000 = 43.5 px
  3. 若匹配精度为 0.2 px,则 Z=1 m 处深度误差 ≈ Z² × Δd / (f_px × b) = 1000² × 0.2 / (1450 × 120) ≈ 1.15 mm(0.115%)
  4. Z=4 m 处深度误差 ≈ 4000² × 0.2 / (1450 × 120) ≈ 18.4 mm(0.46%)

实测结果:在实验室条件下,使用棋盘格标定板(9×7 角点,方格边长 30 mm)进行标定后,测得 1 m 处误差为 1.8 mm,4 m 处误差为 22 mm,与理论计算基本吻合。误差来源主要包括:标定板平面度误差(约 0.1 mm)、镜头畸变残余、匹配算法亚像素精度波动。

优化措施:

  • 将基线增大至 160 mm,理论误差降低 25%
  • 采用 SGM 半全局匹配算法替代局部窗口匹配,亚像素精度提升至 0.15 px
  • 在标定过程中增加 10 组不同姿态的标板图像,降低重投影误差至 0.05 px 以下

优化后结果:4 m 处误差降至 14 mm(0.35%),满足系统 2% 的精度要求。该案例表明,深度精度受硬件参数和算法性能共同制约,需系统性地优化标定流程和匹配策略。

常见误区:部分工程师认为增大基线可以无限提升精度,但忽略了基线增大带来的视野重叠减少问题。当目标物体位于近距离时,可能只出现在单侧相机视野中,导致无法匹配。此外,基线过大会加剧透视畸变差异,增加匹配难度。基线选择需结合最小工作距离和视场角综合计算。

2.5 常见误区与总结复盘

在双目视觉系统的设计与使用中,以下误区需要特别警惕:

  • 误区一:忽略镜头畸变的影响。未标定畸变参数直接进行立体匹配,会导致视差计算偏差,尤其在图像边缘区域。必须通过标定获得畸变系数并进行校正。
  • 误区二:认为视差越大越好。视差过大意味着物体过近,可能超出双目重叠视野范围;同时大视差区域的匹配歧义性增加,容易产生误匹配。
  • 误区三:忽视极线校正的重要性。未校正的图像对需要二维搜索匹配点,计算量成倍增加且误匹配率显著上升。
  • 误区四:标定板设计不当。标定板尺寸过小或特征点数量不足,会导致标定参数不稳定,直接影响后续深度计算精度。

本章核心要点总结:

概念 核心公式/定义 工程意义
双目成像 三角测量原理 通过双视角恢复深度信息
视差-深度 Z = f×b / d 深度与视差成反比,精度随距离平方下降
极线约束 pR^T × F × pL = 0 匹配搜索从 2D 降为 1D
极线校正 图像重投影变换 使对应点位于同一水平线,简化匹配

理解双目视觉的基础原理,是设计标定板、选择相机参数、开发匹配算法和评估系统精度的前提。下一阶段将深入探讨标定板的设计规范,包括图案类型、尺寸计算、精度要求和材质选择,这些内容将直接决定双目系统的标定质量与最终测量性能。