《SLAM十四讲》理论部分专栏
《SLAM十四讲》实践部分专栏
特征点法占据了主流的地位,但是研究者们还是认识到该方法至少有以下的几个缺点。
- 关键点的提取与描述子的计算非常耗时。
- 使用特征点时,忽略了除特征点以外的所有信息。
- 相机有时会运动到特征缺失的地方, 这些地方往往没有明显的纹理信息。
克服缺的的思路之一是光流法。这种方法,保留特征点, 但只计算关键点, 不计算描述子。使用光流法跟踪特征点的运动。这样可以回避计算和匹配描述子带来的时间,而光流本身的计算时间要小于描述子的计算与匹配。
光流是一种描述像素随时间在图像之间运动的方法,如上图所示。随着时间的流逝 ,同一个像素会在图像中运动,而我们希望追踪它的运动过程。其中,计算部分像素运动的称为稀疏光流, 计算所有像素的称为稠密光流。
本小节以稀疏光流中的代表LK光流 为对象展开介绍。
在LK光流中,我们认为来自相机的图像是随时间变化的。图像可以看作时间的函数 I ( t ) \boldsymbol{I}(t) I(t)。 那么,一个在t时刻,位于(x,y)处的像素,它的灰度可以写成:
I ( x , y , t ) \boldsymbol{I}(x, y, t) I(x,y,t)
在光流法中有一个最基本的假设,那就是灰度不变假设。它的基本思想是:同一个空间点的像素灰度值, 在各个图像中是固定不变的。在这个假设的基础上可以进行如下推导:
光流法也存在自身的缺点。
- 未考虑相机的几何结构。
- 未考虑相机的旋转和图像的缩放
我们的目标是求第一个相机到第二个相机的相对位姿变换。直接法求解的思路如下:
具体的数学推导如下:
推导完毕,让我们来看看直接法的优缺点吧:
还记得前一讲特征点法中的最小化重投影误差吗?和直接法中的最小化光度误差有什么区别呢?
看完文章觉得有用的的话,可以点赞、收藏、关注、订阅专栏嘛,你的肯定是我最大的动力!!!