第3章 SLAM基础与算法选择:关键问题、回答框架、大厂侧重点

本章聚焦SLAM核心架构与算法选型逻辑。面试官不仅考核你是否了解ORB-SLAM、VINS等主流框架,更在意你在场景约束下的决策能力。掌握经典算法分类、适用边界及工程权衡,是进入大厂的关键分水岭。
传感器数据 前端:特征法 vs 直接法 后端:滤波 vs 图优化 回环检测与几何验证 轨迹 & 稀疏/稠密地图
面试加分点:回答时先画出上述框架,再逐层对比“特征法 vs 直接法”“滤波 vs 图优化”“词袋 vs 深度学习回环”,最后结合场景给出选型结论 — 体现系统化思维。

Q1:请简述SLAM的基本框架和主流算法分类。

面试官考察点:基础知识完整度;能否区分前端/后端/回环/地图;对滤波类与优化类算法边界的理解。
回答框架:五步法:传感器 → 前端(特征/直接)→ 后端(滤波/图优化)→ 回环检测 → 地图构建。再按两大维度分类:①按后端:EKF等滤波器 vs 图优化(ORB-SLAM/VINS);②按前端:特征点法(稳定)vs 直接法(弱纹理)。
简短示例回答:SLAM由前端(特征提取跟踪/直接法对齐)、后端优化(滤波器或最小二乘图优化)、回环检测(消除累积误差)和地图构建组成。主流分为滤波类(MSCKF、EKF-SLAM)和图优化类(ORB-SLAM3、VINS-Mono),前端特征法鲁棒性高,直接法在弱纹理下更优。
避坑提醒:不要只罗列算法名称,要说明分类依据;避免将“直接法”和“特征法”混淆为后端分类;强调图优化是目前主流,滤波类更多用于资源受限平台。

Q2:如何根据场景选择SLAM算法?请举例说明。

面试官考察点:工程决策能力、对算法特性与场景约束匹配关系的理解、是否具备迁移经验。
回答框架:①分析场景约束:纹理/光照/动态/计算资源/传感器组合;②匹配算法特性:特征法适合纹理丰富,直接法适合弱纹理但易受光照影响;③举例:纹理丰富+GTX GPU → ORB-SLAM3;弱纹理+IMU → VINS-Mono;动态场景 → 语义SLAM或动态点剔除;无人机低成本 → MSCKF。
简短示例回答:纹理丰富、计算资源充足时选ORB-SLAM3(特征法+图优化);弱纹理、光照变化大时选VINS-Mono(视觉+IMU紧耦合);动态场景需加入语义分割预处理(如DynaSLAM);无人机受限于算力,选MSCKF(基于滤波,轻量高效)。
避坑提醒:不能只给出算法名称,必须解释为什么;避免说“直接法就是比特征法好”,要根据约束条件辩证回答;可提及“传感器融合”作为兜底策略。

Q3:SLAM中回环检测的关键技术及常见挑战?

面试官考察点:对闭环模块理解的深度、实际工程中处理假阳性/假阴性的经验、是否了解最新深度学习方案。
回答框架:①方法:词袋模型(DBoW2/3,视觉词汇+TF-IDF)是主流,深度学习(NetVLAD、SuperPoint+SuperGlue)特征更鲁棒;②挑战:感知歧义(相似场景)、光照/视角变化、大规模地图检索实时性;③应对:几何验证(RANSAC估算相对位姿)、时间一致性检查(连续帧)、“先筛后验”两级策略。
简短示例回答:词袋模型(DBoW2)速度快,但易受光照影响;深度学习特征(NetVLAD)鲁棒性更高但计算量大。核心挑战是假阳性导致图优化崩溃,常用几何验证+两步法(先粗检索再精匹配)来避免。大规模地图中采用增量式词袋或iBoW-LCD控制检索延迟。
避坑提醒:不要只提词袋模型,一定要提几何验证这一步;不要忽略时间一致性检查;如果提到深度学习,需说明其计算开销以及对真值数据的依赖。

算法选型快速对比表

算法 类别 前端 后端 回环 典型场景 大厂应用
ORB-SLAM3 图优化 + 特征法 ORB特征 g2o / BA DBoW2 + RANSAC 室内/小范围,纹理丰富 Google(ARCore参考)
VINS-Mono 图优化 + VIO 特征点 + IMU预积分 滑动窗口BA DBoW2 + 几何验证 弱纹理、快速运动 小米、大疆(无人机)
MSCKF 滤波 + 多状态约束 点特征 EKF / 滑动窗口滤波 无(或GPS辅助) 高帧率、低算力平台 Apple(ARKit早期)
DSO 图优化 + 直接法 直接灰度对齐 滑动窗口光度BA 无(可扩展) 弱纹理、光学标定好 研究探索(未大规模落地)
面试提示:大厂面试常要求你现场分析一个具体场景(如“扫地机器人在强纹理客厅和夜间弱光线切换”),请提前练习用“场景约束→算法匹配→性能指标”三段式回答。结合表格中的对比,可快速定位合适方案。