3. 双目相机模型

双目视觉的尺度恢复能力,根源在于两个相机之间的几何关系。要理解双目 SLAM 为什么能测出真实尺度,必须先把“单目针孔成像—镜头畸变—双目光轴几何—极线约束”这条链路打通。本节从成像模型出发,逐步过渡到双目立体几何,并说明极线约束如何把二维匹配降为一维搜索。

一、针孔模型:三维点到像素的投影

针孔模型是最基础的成像近似。设相机坐标系下一点 P = (X, Y, Z),焦距为 f,则归一化平面坐标为 (X/Z, Y/Z)。再经内参矩阵 K 映射到像素坐标:

u   fx  0  cx   X/Z
v =  0  fy  cy · Y/Z
1    0   0   1    1

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

其中 fx = f / dx、fy = f / dy,dx、dy 为像元物理尺寸,cx、cy 为主点。针孔模型的关键结论是:单目图像丢失了绝对深度,因为 (X, Y, Z) 与 (kX, kY, kZ) 投影到同一像素。这正是单目 SLAM 无法直接恢复尺度的根本原因。

二、畸变模型:径向与切向修正

真实镜头存在制造与装配误差,成像点会偏离理想针孔位置。工程上通常先做去畸变,再送入 SLAM 前端。畸变分为径向畸变和切向畸变:

  • 径向畸变:由透镜形状引起,k1、k2、k3 描述桶形或枕形弯曲;
  • 切向畸变:由透镜与成像平面不平行引起,p1、p2 描述。
x_dist = x(1 + k1 r² + k2 r⁴ + k3 r⁶) + 2p1xy + p2(r² + 2x²)
y_dist = y(1 + k1 r² + k2 r⁴ + k3 r⁶) + p1(r² + 2y²) + 2p2xy
r² = x² + y²
标定得到的畸变系数必须与内参一起使用。若只改内参不做去畸变,特征点匹配会出现系统性偏移,直接破坏极线约束的成立条件。

三、双目立体视觉几何

双目系统由左右两个相机组成,二者之间的相对位姿称为外参:旋转 R 与平移 t。若两相机光轴平行、成像平面共面,则称为标准立体配置。此时同一空间点在左右图像上的纵坐标相同,视差 d = u_L − u_R,深度为:

Z = f · B / d

f:焦距(像素)
B:基线(两相机光心距离,米)
d:视差(像素)

该式说明:深度与视差成反比,与基线成正比。基线越大,远距离测距越准,但近处盲区也越大;基线越小,近处精度高,远处视差趋近于零,深度噪声急剧放大。这是双目系统设计中的核心权衡。

四、极线约束:把匹配降为一维搜索

极线约束是双目视觉最重要的几何约束。设左图像点 x_L,右图像点 x_R,则满足:

x_Rᵀ · F · x_L = 0
F = K_R⁻ᵀ · [t]ₓ · R · K_L⁻¹

其中 F 为基础矩阵,[t]ₓ 为平移向量的反对称矩阵。几何含义是:左图上的一个点,在右图中一定位于一条直线上,这条线就是极线。因此匹配搜索从整幅二维图像降为沿极线的一维搜索,计算量大幅下降,同时显著降低误匹配。

若已知内参,可进一步使用本质矩阵 E = [t]ₓ R,并在归一化坐标下计算。极线约束不依赖场景结构,只依赖相机相对位姿,因此是双目 SLAM 前端匹配、后端三角化和尺度恢复的共同基础。

双目立体几何与极线约束示意 左相机 O_L 右相机 O_R 基线 B 空间点 P 左图像平面 x_L 极线 l_L 右图像平面 x_R 极线 l_R 视差 d = u_L − u_R,深度 Z = f·B / d x_Rᵀ · F · x_L = 0

五、工程参数与常见误区

参数/概念 含义 工程影响
fx, fy 等效焦距(像素) 影响视差-深度换算比例
cx, cy 主点坐标 偏差导致极线不准确
k1, k2, p1, p2 畸变系数 未校正会破坏极线约束
B 基线长度 决定测距范围与盲区
F / E 基础/本质矩阵 极线搜索与尺度恢复核心
常见误区:把双目当成“两个独立单目”。若左右相机未做同步触发、未做立体校正,极线不水平,视差计算会失效;另外,标定外参漂移会让深度整体偏移,表现为尺度缓慢漂移,而非随机噪声。

六、案例:从标定到深度恢复

以一组 1280×720 双目相机为例,标定后得到 fx = 700、B = 0.12 m。若某像素视差 d = 60,则 Z = 700 × 0.12 / 60 = 1.4 m。若视差误差为 1 像素,深度误差约为 Z² / (f·B) ≈ 0.023 m。可见深度误差随距离平方增长,这也是双目在远距离精度下降的原因。

在双目 SLAM 中,前端通常先做立体校正,使极线水平;再沿水平极线做块匹配或特征匹配;随后三角化得到三维点,并用重投影误差优化位姿与地图。尺度信息由基线 B 直接注入,因此双目系统天然具有绝对尺度,不需要像单目那样依赖 IMU 或已知物体尺寸。

核心记忆链:针孔模型给出投影关系 → 畸变模型保证像素准确 → 双目外参建立两视图几何 → 极线约束把匹配降为一维 → 视差公式恢复绝对尺度。