SLAM 面试问题提炼:激光 SLAM 与视觉 SLAM 分类详解
·
第一篇 夯实基础
大家好,本篇将开启 SLAM 技术交流前奏。作为或者想作为一名出色的多传感器多场景定位导航算法工程师,首先需要有坚实的 SLAM 基础知识,不然代码看起来一头雾水。本文干货多多。不过如果打算跳槽或跳入此行业,或者才开始进入的小白童鞋,还是建议先把视觉 SLAM 十四讲、自动驾驶与机器人中的 SLAM 技术、机器人 SLAM 导航核心技术与实战、Probabilistic Robotics 和 Multiple View Geometry in Computer Vision 等熟悉一下。
好了,本文主要罗列一些 SLAM 面试中经常会遇到的一些问题,希望对各位朋友有所帮助。
SLAM 面试问题提炼(按激光 SLAM 与视觉 SLAM 分类)
一、激光 SLAM 问题
1. 激光 SLAM 基础
- HDL Graph SLAM 导航中滤波应用了哪些方法?
- 地面检测的原理和方法是什么?(平面方程、高度滤波、法向量滤波、RANSAC)
- 激光扫描匹配用了哪些算法?
- ICP 的原理是什么?请简述 ICP 匹配流程。
- GICP 和 ICP 有什么区别?
- NDT 算法的原理是什么?
- ICP 与 NDT 有什么区别?请从原理、适用场景、计算效率、优缺点等方面比较。
- 点云配准目前有哪些算法?ICP、KC、RPM、形状描述符配准、UPF/UKF 等分别有什么特点?
- 简述 ICP 匹配原理,状态方程有多少维?优化方程有多少维?
- 点线匹配的原理和误差方程是什么?点到直线的距离公式是什么?
- 什么是因子图?Factor Graph 的概率图基础、变量节点和函数节点是什么?
- ikd-Tree 的原理是什么?它如何支持动态点插入、树重新平衡、惰性删除和双线程重建?
- LCDNet 的步骤原理是什么?特征提取、全局描述子提取、相对位姿估计、Loss Function 分别如何设计?
2. 激光 SLAM 系统 / 建图 / 回环 / 运动补偿
- 建图流程,有没有包含回环检测?建图是怎么优化的?
- 回环检测中如何选择候选帧?如何构建 submap?多分辨率 NDT 如何匹配?得分阈值如何判定?
- 什么是运动畸变?产生原因是什么?如何去除或进行运动补偿?
- 运动补偿中如何获取每个点时刻对应的位姿?高频里程计、IMU、匀速模型假设分别怎么用?
- 激光 SLAM 的具体方法有哪些?Gmapping、Hector、Karto、Cartographer、LOAM、LeGO-LOAM、LOAM-Livox 的特点分别是什么?
- 单线雷达和多线雷达分别适用于什么场景?2D 激光 SLAM 与 3D 激光 SLAM 有何区别?
- 激光 SLAM 中常用滤波方式有哪些?距离滤波、下采样/体素滤波、统计与半径野值点滤波分别如何应用?
- 激光 SLAM 中 RTK / 组合导航如何作为绝对观测?如何判定 RTK 有效性?
二、视觉 SLAM 问题
1. 视觉几何 / 基础
- 单目和双目观测的维度有什么区别?
- 投影交互以及双目立体重构原理中的方程自由度是什么?左乘和右乘的区别是什么?
- 视觉 SLAM 中,本质矩阵、基础矩阵、单应性矩阵的自由度和秩分别是多少?为什么?
- 单应矩阵 H 和基础矩阵 F 的区别是什么?
- 相似变换、仿射变换、射影变换的区别是什么?
- 四元数的相关概念是什么?如何表示旋转?单位四元数、旋转轴和夹角如何转换?
- 什么是左扰动和右扰动?在优化旋转/变换矩阵时如何选择?左扰动和右扰动哪个好?
- 单目相机、双目相机、深度相机的分类及优缺点是什么?
- 单目 SLAM 的尺度不确定性、初始化、三角化等问题是什么?
- 视觉 SLAM 中可能用到的边缘检测算子有哪些?Canny、Sobel、Laplacian 等分别有什么特点?
2. 视觉 SLAM 方法 / 框架 / 后端优化
- 视觉 SLAM 方法的分类和对应特点是什么?特征点法与直接法各有什么优缺点?
- 请描述视觉 SLAM 的框架以及各个模块的作用。
- 关键帧的作用是什么?如何选择关键帧?
- 重定位和回环检测的区别是什么?
- SLAM 中的“绑架/重定位”问题是什么?
- 在 SLAM 中,如何对匹配好的点做进一步处理,更好保证匹配效果?
- 什么是 BA 优化?误差如何表示?雅可比矩阵如何分块?H 矩阵如何构成?
- 描述 RANSAC 算法。
- SLAM 后端有滤波方法和非线性优化方法,这两种方法的优缺点是什么?
- 什么是 FE?边缘化时为什么要固定线性化点,避免线性化点不可观测性变化?
三、进阶问题
- Hessian 矩阵什么时候可以被 J^T J 近似?
- 梯度算法与牛顿-拉普拉斯方法有什么区别?
- KF、EKF 与 UKF 三者的区别是什么?
- 说明 UKF、EKF 和 PF 之间的关系。
- EKF 和 ESKF 的主要区别是什么?
- ESKF 的基本过程及优点是什么?
- ROS 中 rosrun 和 roslaunch 的区别是什么?
3. VIO / 视觉惯性 / IMU
- SLAM 相关项目中 IMU 融合需要哪些深入知识?参数问题有哪些?
- 零偏稳定性和零偏不稳定性是什么?国军标与 Allan 方差给出的指标有什么区别?
- VIO、VINS 中左扰动和右扰动哪个好?
- 组合导航中状态量是什么?观测量是什么?怎么融合?
- 状态向量分别是哪些?P、Q、V、Ba、Bg 是几维?为什么 Q 是三维?
- IMU 中加速度计和陀螺仪的确定性误差和随机误差包括哪些?
- 定位这块遇到的最难解决的两个问题是什么?怎么解决?
- 在你的工作中,你提出过创新性的算法吗?
如果你能把以上问题回答得清楚,说明你就真正具有了 SLAM 基础知识技能,入行了。下次我们将介绍实际工程中传感器的选型及应用场景。
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐



所有评论(0)