直接法视觉里程计/SLAM的学习门槛较特征法高,我将DSO/LDSO 等直接法相关资料尽量按作者分类整理如下,毕竟沿着一个人的思路学习跨度不会太大;此外,将一些涉及的其他知识也一并整理,方便查阅。
注:请注意我的用词(概述、分析、详解)。
深度滤波器
相关代码
公式推导及流程详解:
1、高翔博士:
如何在SWF(Sliding window filter)中边缘化某个帧,从而转化为先验
2、涂金戈大佬的博客:
光度误差关于位姿、辐射仿射变换参数、逆深度导数的推导 ——很棒
函数 CoarseInitializer::calcResAndGS(...)。
dp0, dp1, dp2, dp3, dp4, dp5 是光度误差对 se(3) 六个量的导数;
dp6, dp7 是光度误差对辐射仿射变换的参数的导数;
dd 是光度误差对逆深度的导数.
含有对calcResAndGS()函数中H、b、acc9、acc9SC解释
DSO windowed optimization 代码 (1)、(2)、(3)、(4)
3、博主小C酱油兵剖析DSO的流程:
详细叙述了第0层与第1-5层的提取梯度点的策略(主要涉及PixelSelector中的select()、makeMap()、makePixelStatus()),结合去看代码事半功倍。
KD-Tree + FLANN(Fast Library for Approximate Nearest Neighbors),用于初始化中为每个提取的梯度点构建近似最近邻索引,在同一层中找到10个与其距离最接近的点构建邻域关系。目的是关联当前层与下一层,便于光流金字塔和逆深度值的传播。用于makeNN()。
可惜博主没有继续更新。。。
4、数据流角度看DSO:
5、林突破博主:
初始化过程详细推导——很棒
误差函数构建与初始化过程的迭代优化过程。
追踪与优化过程详解——很棒
jixiansous
6、贺一家博士:
sliding window、Marginalization和Schur Complement、First Estimate Jacobians概述
7、泡泡机器人线下会议报道:
https://www.sohu.com/a/347845239_715754 有一些结论性的话可以参考与借鉴。
8、CSDN无人的回忆博主 (推荐,文章写得很用心):
详细解读了DSO论文的内容框架
详细推导了初始化过程中的光度误差雅克比、正则化项,以及边缘化部分的理论和代码
持续更新中……