slam Q&A 汇总帖

slam面试问题前期总结(一)

https://blog.csdn.net/liu502617169/article/details/96831664

 

 

1. 单目SLAM难点

单目的优点是成本低,最大的局限性是测不到空间物体的距离,只有一个图像。所以早期视觉SLAM也被称为“只有角度的SLAM”(Bearing Only)。距离在定位中至关重要,双目和RGBD相机的使用就是为了能够计算(或测量)这个距离。

距离未知导致单目SLAM存在以下问题:

  • 需要初始化
  • 尺度不确定
  • 尺度漂移
  •  

高博关于单目的介绍及推导

https://blog.csdn.net/qq_24509229/article/details/82858779

 

作者:EpsAvlc
链接:https://www.zhihu.com/question/301977205/answer/1287772351
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
 

尺度不确定性其实其他答主有解释了,我试着表达下我对尺度漂移的理解。

我自己断断续续正在写一个naive 的 structure from motion的框架(传送门)。这个和单目VO其实有很像的地方,主要分为三步。

  1. 任选两张图(设为第0帧和第1帧),先提取关键点并匹配,再根据对极几何求本质矩阵E,再从E中恢复R,t。这个在单目VO里属于初始化的部分,其中得到的t是个单位向量,因为任意缩放t,极线约束都成立。你可以对t进行任意缩放。缩放完后,设第0帧的位置为相机坐标系原点,则第1帧的位置就可以由R, t得到。虽然这个t不是真值,但是可以固定下来。然后根据两帧的位置,可以对图像帧0和1中匹配的三维点进行三角化。
  2. 对之后的图像帧,就不再是利用对极几何求R,t了。依旧是先提取关键点再匹配哈, 但是这次匹配的上一帧的特征中,有些是已经被三角化过的,因此可以像之前答主说的用运动模型加BA求该图像帧与上一帧的位置关系,也可以用PnP求R,t。求出来R,t之后,再三角化该帧与上一帧的没被三角化过的匹配点。
  3. 最后加上回环检测。

尺度漂移就是出现在第二步。因为对于新的图像帧,都是先计算其R,t,再利用该R,t三角化与之前图像帧匹配的点。问题就是,如果第一步算的R,t有误差,那么第二步三角化的三维点的深度就存在误差,也就是说其深度会存在一个缩放。对于新来的每一帧,都会有这样的问题。

如果没有回环检测,那么这个缩放的误差会一直存在并被传递与叠加,导致后面三角化的点的尺度与第一幅图的点不一致。这就是我理解的尺度漂移。

再反问自己一下,为何双目,RGBD与激光雷达没有尺度漂移?

1.双目相机基线确定,即左右两幅图像的R,t确定,那么其三角化的三维点的误差也是固定的。

2. RGBD相机与激光雷达的测量值都是不依赖于相机自身位置的深度值,因此其不会有尺度上的变化。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值