目录

一、直接法的提出

二、2D光流

三、直接法

1.直接法的推导

 2.直接法的讨论


一、直接法的提出

1.特征点法的缺点:

①关键点的提取和描述子的匹配非常耗时。

②忽略了特征点以外的所有信息。一张图像的像素有几十万,特征点只要几百个。

③相机有时会运动到特征缺失的地方,比如白墙,或者空荡的走廊。这些场景特征点数量明显减少。

④由于只提取特征点,因此通过特征点法只能重构出稀疏地图。

2.解决这些缺点的思路:

①保留特征点,但只计算关键点(必须是角点),不计算描述子。使用光流法跟踪特征点的运动,这样可以减少计算和匹配描述子带来的时间,光流本身的计算时间小于描述子的计算与匹配。

这种方法仍然使用特征点,只是把匹配描述子换成了光流跟踪,估计相机的运动仍使用对极几何、PnP、ICP。

②只计算关键点(不要求提取到的必须是角点。甚至可以是随机的选点),不计算描述子。同时使用直接法计算特征点在下一时刻图像中的位置。这样跳过了描述子的计算过程,也省去了光流的计算时间。

直接法中根据图像的像素灰度信息同时估计相机的运动和点的投影。

3.特征点法和直接点法的区别:

①特征点法:最小化重投影误差优化相机运动,需要精确地知道空间点在两个相机中投影后的像素位置。

直接法:最小化光度误差优化相机运动,不需要知道点和点之间的对应关系.

②直接法根据像素的亮度信息估计相机的运动,可以完全不用计算关键点和描述子,避免了特征匹配的时间。

总结:

直接法完全克服了特征点法的几个缺点:1. 跳过了关键点提取与描述子的计算。 2. 跳过了特征点匹配过程。 3. 可以跟踪许多点甚至全部点,不只是特征点。 4. 由于不需要提取特征点,即使是白墙,只要有明暗变化,也能有效跟踪。 3. 可以选择大量的点作为关键点,得到半稠密甚至稠密地图

根据像素的数量,直接法分为:稀疏、稠密和半稠密三种。使用直接法的项目SVO、LSD_SLAM、DSO等

二、2D光流

光流:是一种描述像素随时间在图像之间运动的方法。随着时间的流逝,同一个像素会在图像中运动,而我们希望追踪它的过程。

计算部分像素称为稀疏光流,LK光流为代表,可以在SLAM中追踪特征点的位置;计算所有像素称为稠密光流,以Horn-Schunck光流为代表。

LK光流

一个在t时刻,位于(x,y)处的像素,灰度值可以表示为:I(x,y,t)

灰度不变假设:同一个空间点的像素灰度值在各个图像中固定不变。即

I(x+dx,y+dy,t+dt) = I(x,y,t)

泰勒一阶展开后

 u、v 是所求的变量,但它是二元一次方程,只要一个像素无法求解。因此在LK光留中假设:

某一个窗口内的像素具有相同的运动

 构建了一个超定方程(方程个数大于未知数个数),使用最小二乘解。

LK光流用来跟踪角点的运动。

三、直接法

1.直接法的推导

光流法:迭代像素点的位移(dx, dy),寻找最优的(dx, dy)使得光度误差达到最小。

直接法:迭代相机的位姿变换T,寻找最优的T,使得光度误差达到最小。这就涉及到雅可比矩阵的推导  \frac{\partial e}{\partial \xi }   (推导过程可以参考第一版书中的内容,比第二版详细)

参考:重读《视觉SLAM十四讲》ch8 视觉里程计2 - 知乎 (zhihu.com)

2.直接法的讨论

雅可比矩阵中关于P点的坐标是已知的,双目和RGB-D可以求出P点的深度,但在单目情况下不确定性很大(详细的深度估计在ch13中),这里讨论的是深度已知的情况:

①P来自于稀疏关键点(需要成百上千个),速度最快,不用计算描述子,但是点稀疏,只能重构稀疏地图。(稀疏直接法)

②P来自部分像素,选取像素梯度不为零的点(像素梯度为零的点无法求得雅克比矩阵J),能够重构半稠密地图。(半稠密直接法

③P取自所有像素(几十万至几百万个),需要GPU并行计算,否则很难达到实时性要求,能够重构稠密地图。(稠密直接法

四、直接法优缺点总结

优点:

  1. 快。跳过了描述子计算与匹配。
  2. 只要求有像素梯度,可以用于特征点缺失但存在明暗变化的场景,比如白墙。
  3. 可以构建半稠密、稠密地图。

缺点:

  1. 非凸性,容易陷入局部最优解,图像金字塔可以缓解。
  2. 单个像素没有区分度,也是容易陷入局部最优解。需要图像块相关性来缓解。并且需要取更多的关键点(500个以上)。
  3. 灰度不变假设是强假设。容易因曝光变化而导致假设失效,可以通过同时估计相机曝光参数来保证假设稳定性。

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐