论文:Direct sparse odometry
一份不错的中文代码注释:https://github.com/alalagong/DSO
一些不错的博客:
高翔博士关于DSO直接法的理论推导
直接法光度误差导数推导——很棒
DSO初始化流程
DSO初始化
DSO追踪与优化
从数据流看DSO
calcResAndGS()函数中H、b、acc9、acc9SC解释一
calcResAndGS()函数中H、b、acc9、acc9SC解释二
滑动窗口优化的理解:
Marginalization和Schur Complement理解
边缘化的理解
边缘化中矩阵运算的一点细节
高翔博士知乎关于SWF(Sliding window filter)的回答
DSO相关学习资料整理
知乎关于FEJ(First-Estimates Jacobian)的讨论
1、提取特征点部分,6层金字塔影像
makePixelStatus()比makeMaps()函数提取特征点多
这篇博客对两个函数提取特征点效果做了对比,0层金字塔影像使用makeMaps()函数,其余影像使用makePixelStatus()函数提取特征点
关于初始化的理解:
- 在输入第一帧的时候
coarseInitializer->setFirst(&Hcalib, fh);
将snapped设置为false,即将两帧相对位姿的平移很小 - 在第二帧进入系统,
coarseInitializer->trackFrame(fh, outputWrapper)
函数通过Coarse-to-fine的多层直接法优化两帧的位姿
2、在论文中,作者认为,几何和光度的雅可比,相对自变量来说通常是光滑函数;而图像雅可比则依赖图像数据,不够光滑;所以,在优化过程中,几何和光度的雅可比仅在迭代开始时计算一次,此后固定不变