自动驾驶-机器人-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中尺寸漂移是怎么产生的

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

相关推荐
懂压力传感器的涌客5 小时前
从具身智能说起:柔性薄膜压力传感器在机器人触觉系统的选型与信号链设计
人工智能·机器人·压力传感器·源头工厂·fsr压力传感器
hey you~7 小时前
语音机器人如何配合人工完成复杂进线服务?三种协同模式与落地要点
人工智能·机器人·语音识别·智能客服·呼叫中心·转人工策略
gf13211118 小时前
【使用影刀BOSS系统机器人@群内的其他机器人】
机器人
qq_508576098 小时前
机器人通讯协议
网络·机器人
银空飞羽9 小时前
职型求职工具实测:把简历分析、岗位匹配和定向优化串成一条求职链路
人工智能·经验分享·面试·职场和发展·跳槽·求职招聘·创业创新
三小河9 小时前
AI 对话 "打字机" 是怎么实现的?从 SSE 流式、Markdown 组件到 Nginx 防粘连
前端·人工智能·面试
feasibility.10 小时前
当“给机器人指路“成为一门数据工程学——SimpleNav 拆解:导航大模型的标准化之争
ai·机器人·无人机·导航·具身智能·vla·vln
旺仔不是程序员10 小时前
致命索引失效:索引列运算与函数索引不匹配
数据库·后端·面试
六边形工程师11 小时前
真实调研2500名程序员:工资差一倍,AI拉开分水岭
面试
敲代码的嘎仔13 小时前
28届后端开发-百人小厂面试题
java·后端·面试·程序员·秋招·实习·转正