自动驾驶-机器人-slam-定位面经和面试知识系列02之高频面试题(01)

SLAM高频面试问题

这个博客系列会分为C++ STL-面经、常考公式推导和SLAM面经面试题等三个系列进行更新,基本涵盖了自己秋招历程被问过的面试内容(除了实习和学校项目相关的具体细节)。在知乎和牛客也会同步更新(牛客上某些文章上会附上内推码),全网同号(lonely-stone或者lonely_stone)。

关于高频面试题和C++ STL面经,每次我会更新10个问题左右,每次更新过多,害怕大家可能看了就只记住其中几个点。(在个人秋招面试过程中,面试到后面,发现除了个人项目和实习经历外,个人所记录的内容基本能涵盖面试官能问到的)

(另外个人才疏学浅,如果所分享知识中出现错误,请大家指出,避免误导其他人)

1. 如何对匹配好的点做进一步的处理,以保证匹配效果:确定匹配的最大距离阈值,如汉明距离要小于最小距离的两倍;(orbslam)

  • 使用KNN-matching算法,令K=2。则每个match点得到两个最接近的descripter,然后计算最接近距离和次接近距离之间的比值,当比值大于既定值时,才为最终match;
  • RANSAC(使用RANSAC找到最佳单应性矩阵。由于这个函数使用的特征点同时包含正确和错误匹配点,因此计算的单应性矩阵依赖于二次投影的准确性)

2. 图像放大两倍,内外参怎么变化?

外参和内参中的畸变参数保持不变,但内参为各自变成2倍。

3. 单应矩阵、基础矩阵、本质矩阵的定义,纯旋转的情况是怎样的

  • 本质矩阵E和基础矩阵都是在对极几何约束(描述两个视图之间的内在投影关系)中引入的,其中E和F的区别在于有无内参,这也就决定了E表达的是两个相机坐标的三维点的关系,F表达的是像素点关系。
  • 而单应矩阵H表述真实世界的一个平面与它对应图像的透视变换,除了相机获取到的图像中的点分布在同一个平面之外。当相机仅有旋转没有平移、物理世界为平面或者物理世界距离离相机足够远的情况下,均不满足E和F,应使用单应矩阵。
  • 纯旋转:在相机只有旋转没有平移的时候,此时t为0,导致无法求解R,这时可以使用单应矩阵H求旋转,但是仅有旋转的话,无法三角化求深度

4. 描述PNP

全称(Perspective-n-points,提供了一种解决方案,它是由3D-2D的位姿求解方式,即需要已知匹配的3D点和图像2D点。目前主要使用场景有两个:一是求解相机相对于某2维图像/3维物体的位姿,二是SLAM算法中估计位姿时通常需要PnP给出初始位姿。

  • 在1中:我们输入的是物体在世界坐标系下的3D点以及这些点在图像上投影的2D点,求得相机坐标系相对于世界坐标系的转换Tcw;
  • 在2中:输入上一帧的3D点,和这些点在当前帧下投影得到的2D点,所以它求的是当前帧相对于上一帧的位姿变换。

5. pnp最少需要几个点?ax=b的求解

pnp最少需要3个点,只有1个点对的自由度是4,2个点对的话,自由度是2。

ax=b求特解,再求通解,加起来

6. (个人补充)PNP(pespective-n-point)算法学习

  • 当PNP中N=1时,即只知道一对3D-2D点对的情况下:无数解
  • 当PNP中N=2时,即只知道两对3D-2D点对的情况下:无数解
  • 当PNP中N=3时,即知道三对3D-2D点对的情况下:四个解,其中一个就是要的那个解
  • 当PNP中N=4时,即知道四对3D-2D点对的情况下:先用3个点计算出4组解获得四个旋转矩阵、平移矩阵,然后将第四个点的世界坐标代入公式,获得其在图像中的四个投影(一个解对应一个投影),取出其中投影误差最小的那个解,就是我们所需要的正解。

P3P只需要3个点,

EPNP解法:

  • 利用已知的3d点,通过PCA选择4个控制点,建立新的局部坐标系,从而将3d坐标用新的控制点表示出来。
  • 然后,利用相机投影模型和2d点,转换到相机坐标系中,再在相机坐标系中建立和世界坐标系同样关系(每个点在相机坐标系和世界坐标系下控制点处的坐标一致)的4个控制点,
  • 求解出相机坐标系下的四个控制点的坐标,进而利用ICP求解pose

7. 如何处理关键帧

  • 跟踪质量/公式特征点
  • 距离关键帧的距离足够远
  • 距离上一关键帧的帧数足够多(时间)

8. 为什么要引入李群李代数

旋转矩阵自身是带有约束的正交且行列式为1,他们作为优化变量时,会引入额外的约束,届时优化变得困难,通过李群李代数的转换关系,把位姿估计变成无约束的优化问题。

9. 什么是极线约束

是指同一个点在两幅图上的映射,已知左图映射点为p1,那么右图上的p2一定在左图的极线上,这样可以减少匹配的点数量。对极约束几何意义是P,O1和O2共面,归一化坐标之间的为F,像素之间的为E本质矩阵。

10. 单目视觉slam中尺寸漂移是怎么产生的

单目相机无法根据一张图片得出物体的实际大小,同理不能得出运动的尺度大小。虽然在优化过程中有三角测量,但是三角测量中极小的误差在不断累积之后也会变得很大。

相关推荐
大米洗澡1 小时前
数字签名技术基础
python·学习·程序人生·面试·职场和发展
菠菠萝宝12 小时前
【Java八股文】10-数据结构与算法面试篇
java·开发语言·面试·红黑树·跳表·排序·lru
AWS官方合作商12 小时前
Amazon Lex:AI对话引擎重构企业服务新范式
人工智能·ai·机器人·aws
A_one201013 小时前
前端开发常见问题与面试-02
面试·职场和发展
青衫弦语14 小时前
【论文精读】VLM-AD:通过视觉-语言模型监督实现端到端自动驾驶
人工智能·深度学习·语言模型·自然语言处理·自动驾驶
一个 00 后的码农17 小时前
25会计研究生复试面试问题汇总 会计专业知识问题很全! 会计复试全流程攻略 会计考研复试真题汇总
经验分享·考研·面试·面试问题·25考研·考研复试·会计复试
星之卡比*18 小时前
前端面试题---vite和webpack的区别
前端·面试
风口猪炒股指标18 小时前
想象一个AI保姆机器人使用场景分析
人工智能·机器人·deepseek·深度思考
卷卷的小趴菜学编程18 小时前
c++之多态
c语言·开发语言·c++·面试·visual studio code
圆内~搁浅18 小时前
langchain本地知识库问答机器人集成本地知识库
数据库·langchain·机器人