本章整理自高翔的SLAM十四讲之《直接法的原理与实现》以及PAMI上的《Direct Sparse Odometry》
1
之前总结的方法都需要先从图片中提取特征点并进行匹配,然后进行优化求解,这类方法称为特征法或间接法。由于提取、匹配的过程中耗时很大,因此有人提出是否能不计算关键点或描述子,直接根据图像的像素信息来计算相机运动,这类方法称为直接法。随着一批不需提取特征的方法,如LSD(选取整幅图像中有梯度的部分来采用直接法,这种方法称为半稠密方法(simi-dense)),SVO(选取关键点来采用直接法,这类方法称为稀疏方法(sparse)),直接法渐露其自身优势。
1.1间接法与直接法的区别:
除了提取和匹配耗时,在使用特征点时,也忽略了除特征点以外的所有信息,因此丢弃了很多可能有用的图像信息.
间接法通过最小化几何误差geometric error)(因为预先得到的点或光流向量都是几何度量,常用的有重投影误差(projection error)等)来进行优化从而得到相机运动;直接法通过最小化测量误差(photometirc error,即像素之间的误差).直接法的好处:直接法让单独一个点不具备识别意义,而是将大量的点组织起来,因此它的表达是一种细粒度的几何表示。
1.2 直接法的基本假设
同一空间三维点在各个视角下测到的灰度值不变(因此假设所在平面是漫反射,没有遮挡,没有光照变化);
1.3 直接法原理
I1(Cpi) 与 I2(CRpi+t) 分别为pi在图像对应点的灰度值。
随后用非线性优化求解最小测量误差J,得到目标函数: