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的应用场景非常广泛,且往往对“真实尺度”有硬性要求。下表列出典型场景与核心需求:
| 应用场景 | 核心需求 | 双目SLAM的价值 |
|---|---|---|
| 移动机器人导航 | 实时定位、避障、路径规划 | 提供米制尺度地图,支持安全距离判断 |
| 自动驾驶与ADAS | 车道级定位、障碍物测距 | 低成本深度感知,与IMU/GNSS融合 |
| AR/VR | 虚实配准、空间锚定 | 真实尺度使虚拟物体与场景比例一致 |
| 工业测量与巡检 | 高精度三维重建、缺陷定位 | 稠密点云与绝对尺寸测量 |
| 无人机室内外飞行 | 无GPS环境定位、地形跟随 | 视觉惯性融合,尺度可观,抗漂移 |
四、课程整体框架与学习路径
本课程共30章,围绕“双目视觉SLAM与尺度恢复工程”展开,整体分为五个模块。第一模块是基础与导入,包括本章的定义、发展、应用与框架,以及相机模型、坐标系、标定与立体校正。第二模块是双目深度与匹配,重点讲解视差计算、立体匹配算法、深度恢复与误差分析。第三模块是SLAM核心算法,涵盖特征法、直接法、光流跟踪、位姿估计、后端优化与回环检测。第四模块是尺度恢复与融合,讨论双目尺度可观性、IMU融合、VIO紧耦合、尺度漂移抑制与在线校准。第五模块是工程实践与排障,包括数据集、仿真、代码实战、性能评估、动态场景处理与部署优化。
学习建议:先建立“几何—匹配—优化—融合”的主线,再深入每个模块。每章都配有可运行的代码片段与参数说明,建议边学边调,尤其关注基线、焦距、视差范围、匹配代价与优化权重对尺度精度的影响。
五、常见误区与复盘
初学者常把双目SLAM简单理解为“单目SLAM加一个深度图”,这是不准确的。双目系统不仅提供深度,还改变了初始化、尺度估计、地图点三角化和优化约束的方式。另一个误区是认为“基线越长越好”。基线增大确实能提升远距离深度精度,但会加剧遮挡、匹配困难和近处盲区,工程上需要根据工作距离权衡。
排障提示:如果系统轨迹尺度明显偏小或偏大,优先检查立体校正是否准确、左右图像时间戳是否同步、视差搜索范围是否覆盖真实视差,以及标定参数中的焦距与基线是否一致。尺度问题往往不是优化算法本身,而是前端几何与标定误差的累积结果。
总结来说,双目视觉SLAM是一条兼顾精度、成本与工程可行性的技术路线。它用两个相机之间的固定几何关系,把“尺度”从不可观变为可观,把“定位与建图”从相对量变为绝对量。接下来的章节将从相机模型与标定开始,逐步搭建完整的双目SLAM系统。