1. 课程导入

在移动机器人、自动驾驶、AR/VR 与空间智能领域,SLAM(Simultaneous Localization and Mapping,同步定位与建图)解决的是“我在哪、周围是什么”这一根本问题。单目相机虽然成本低、结构简单,却存在一个天然缺陷:仅凭单帧图像无法直接恢复真实尺度,尺度会随运动估计漂移。双目视觉SLAM通过左右两个相机同时成像,利用固定基线带来的视差信息,在定位与建图的同时恢复场景的真实尺度,因此成为工程落地中极具价值的技术路线。

一、核心定义:什么是双目视觉SLAM

双目视觉SLAM是指以双目立体相机为主要传感器,通过左右图像的匹配与三角测量获得深度信息,并在连续帧之间估计相机位姿,同时构建环境地图的算法系统。它的核心链条可以概括为:图像采集 → 立体校正 → 视差计算 → 深度恢复 → 特征/直接法跟踪 → 位姿估计 → 地图构建与优化。

与单目SLAM相比,双目SLAM的关键差异在于“尺度可观”。单目系统需要依赖初始化运动或IMU才能确定尺度,而双目系统通过基线 b 与焦距 f 直接计算深度:

Z = (f * b) / d
其中:
Z:目标深度
f:相机焦距(像素单位)
b:左右相机基线
d:视差(左右图像中同名点的像素差)

这意味着,只要视差估计准确,深度就是绝对尺度。对于机器人导航、自动驾驶避障、工业测量等任务,真实尺度不是“锦上添花”,而是安全与可用性的前提。

二、发展历程:从立体视觉到现代双目SLAM

双目视觉SLAM的发展大致经历了四个阶段。早期研究以立体匹配和稀疏特征为主,代表思路是提取左右图像中的角点,通过极线约束进行匹配,再三角化得到三维点。这一阶段奠定了双目SLAM的几何基础,但实时性和鲁棒性有限。

第二阶段是滤波与优化框架的成熟。扩展卡尔曼滤波、粒子滤波以及后来的图优化方法被引入SLAM,系统开始能够处理相机运动、地图点与位姿之间的联合估计。关键帧机制的出现,使系统在有限计算资源下维持长期运行。

第三阶段是直接法与半直接法的兴起。以LSD-SLAM、DSO等为代表的方法,不再依赖特征点,而是直接利用像素灰度误差优化位姿与深度,在弱纹理场景中表现更好。双目版本则通过立体匹配提供初始深度,显著提升收敛速度与尺度稳定性。

第四阶段是“多传感器融合 + 学习增强”。现代双目SLAM常与IMU、轮速计、GNSS融合,形成视觉惯性里程计(VIO)或紧耦合系统;同时,深度学习被用于立体匹配、特征提取、深度补全与动态物体剔除,使系统在复杂光照、重复纹理和动态场景中更具鲁棒性。

双目视觉SLAM:数据流、尺度恢复与地图输出 左相机图像 同步采集 右相机图像 同步采集 立体校正 极线对齐 / 去畸变 视差计算 SGBM / 深度学习匹配 深度恢复 Z = f·b / d 位姿估计 特征 / 直接法 / 优化 地图构建 稀疏点云 / 稠密地图 真实尺度输出 米制轨迹与地图 关键点:双目基线提供绝对尺度;视差精度决定深度精度;位姿与地图联合优化抑制漂移。

三、典型应用场景

双目视觉SLAM的应用场景非常广泛,且往往对“真实尺度”有硬性要求。下表列出典型场景与核心需求:

应用场景 核心需求 双目SLAM的价值
移动机器人导航 实时定位、避障、路径规划 提供米制尺度地图,支持安全距离判断
自动驾驶与ADAS 车道级定位、障碍物测距 低成本深度感知,与IMU/GNSS融合
AR/VR 虚实配准、空间锚定 真实尺度使虚拟物体与场景比例一致
工业测量与巡检 高精度三维重建、缺陷定位 稠密点云与绝对尺寸测量
无人机室内外飞行 无GPS环境定位、地形跟随 视觉惯性融合,尺度可观,抗漂移

四、课程整体框架与学习路径

本课程共30章,围绕“双目视觉SLAM与尺度恢复工程”展开,整体分为五个模块。第一模块是基础与导入,包括本章的定义、发展、应用与框架,以及相机模型、坐标系、标定与立体校正。第二模块是双目深度与匹配,重点讲解视差计算、立体匹配算法、深度恢复与误差分析。第三模块是SLAM核心算法,涵盖特征法、直接法、光流跟踪、位姿估计、后端优化与回环检测。第四模块是尺度恢复与融合,讨论双目尺度可观性、IMU融合、VIO紧耦合、尺度漂移抑制与在线校准。第五模块是工程实践与排障,包括数据集、仿真、代码实战、性能评估、动态场景处理与部署优化。

学习建议:先建立“几何—匹配—优化—融合”的主线,再深入每个模块。每章都配有可运行的代码片段与参数说明,建议边学边调,尤其关注基线、焦距、视差范围、匹配代价与优化权重对尺度精度的影响。

五、常见误区与复盘

初学者常把双目SLAM简单理解为“单目SLAM加一个深度图”,这是不准确的。双目系统不仅提供深度,还改变了初始化、尺度估计、地图点三角化和优化约束的方式。另一个误区是认为“基线越长越好”。基线增大确实能提升远距离深度精度,但会加剧遮挡、匹配困难和近处盲区,工程上需要根据工作距离权衡。

排障提示:如果系统轨迹尺度明显偏小或偏大,优先检查立体校正是否准确、左右图像时间戳是否同步、视差搜索范围是否覆盖真实视差,以及标定参数中的焦距与基线是否一致。尺度问题往往不是优化算法本身,而是前端几何与标定误差的累积结果。

总结来说,双目视觉SLAM是一条兼顾精度、成本与工程可行性的技术路线。它用两个相机之间的固定几何关系,把“尺度”从不可观变为可观,把“定位与建图”从相对量变为绝对量。接下来的章节将从相机模型与标定开始,逐步搭建完整的双目SLAM系统。