Direct Sparse Odometry(DSO)
- 概览:
这是一种利用稀疏直接法进行单目视觉测程的SLAM算法,也是目前(2017)唯一联合优化所有模型参数(相机位姿、内参矩阵、几何参数、逆深度值)的直接法模型,并在优化过程中用滑动窗口对旧的相机位姿以及离开相机视野的点进行边缘化。本算法的优点在于鲁棒性和实时性。
2.直接稀疏法模型:
直接稀疏测程方法主要基于对包含最近帧的滑动窗口内的光度误差(期间利用的是考虑用了光度校准的图像形成模型)进行持续优化。与之前的直接发不同的是,DSO联合优化了所有的相机参数(包含相机内参、相机外参、和逆深度值),并且在窗口内的稀疏BA优化中有效地执行photometric equivalent。在表述过程中,将3D点在参考帧中表述为一个逆深度(一维)。
2.1校准:
在采用DSO模型时首先要对每一帧进行光度矫正:
2.2模型方程:
我们将在目标帧Ij中观察到的参考帧Ii中的点p的光度误差定义为在小的像素邻域上的加权SSD(寻找在该点周围以略微扩展的模式排列的八个像素):
其中点的投影方程为:
转移矩阵为:
为了在曝光时间未知的情况下依旧能进行光度误差测量,所以在之前的光度误差函数中引入了一个仿射传递函数:
同时为了使用鲁棒的核函数,DSO同时还引入了梯度依赖加权项ωp使具有高梯度的像素降权:
综上,光度误差函数的建立主要依赖于以下变量:(1)点的逆深度dp(2)相机内参c(3)所涉及的相机帧位姿Ti,Tj(4)它们(i,j