2024年C C++最全SLAM 论文阅读和分类整理_slam方面论文应该怎么看(2),20天内看完这套GitHub标星18k+的C C++资料

img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上C C++开发知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以戳这里获取

基础知识
  1. 2005 年,Stergios I. Roumeliotis,Indirect Kalman Filter for 3D Attitude Estimation 这个笔记是 University of Minnesota 做 msckf 那个组的笔记,讲解了 IMU 和四元数的一些基础知识。
VIO 初始化和外参数标定

该部分主要是 VIO系统中初始参数的确定,如相机尺度,系统初始速度,重力方向,imu bias,甚至相机和 imu 之间的外参数等等。

首先是闭式求解的方法,三篇论文一脉相承,Martinelli 作为二作和一作。

  1. 2011 年 ICRA ,Closed-Form Solution for Absolute Scale Velocity Determination Combining Inertial Measurements and a Single Feature Correspondence. 闭式求解相机尺度,只需要三帧和一个特征点。
  2. 2014 年 IJCV,closed-form solution of visual-inertial structure from motion,也是闭式求解,但是求解过程中忽略了 gyro bias 和 acc bias 的影响,因此,该方法不太实用,在实际系统中也没被采用过(17年该作者作为二作的一篇RAL说的)。
  3. 2017 年 RAL,Simultaneous State Initialization and Gyroscope Bias Calibration in Visual Inertial Aided Navigation,作者对上篇论文所述方法受 bias 的影响进行了分析,发现 acc bias 对系统影响不那么大,但是 gyro bias 影响较大,所以在 14 年论文的基础上提出了加入了标定 gyro bias 的方法。
  4. 2021 年 RAL,Revisiting visual-inertial structure from motion for odometry and SLAM initialization. Snap 公司做的一个工作,通过消元,将闭式解的求解速度提高了很多。

优化迭代求解的方法

  1. 2017 年 RAL,Visual-Inertial Monocular SLAM with Map Reuse. ORBSLAM VIO 论文,主要是利用 IMU 预积分和单目 ORBSLAM 估计的姿态之间构建约束,从而迭代求解 IMU 初始状态所有参数(甚至包括acc bias),不包括外参数的标定。
  2. 2017 年 TASE,Monocular Visual–Inertial State Estimation With Online Initialization and Camera–IMU Extrinsic Calibration. 沈老师组论文,sfm 求解相机姿态和 gyro 积分构建rotation约束,从而求解相机imu之间的旋转外参数,然后固定rotation,求解其他参数,如重力方向,速度,外参数平移,特征深度等。论文中直接构建一个最小二乘对上述参数进行优化求解。
  3. 2017 年 IROS,Robust Initialization of Monocular Visual-Inertial Estimation on Aerial Robots. 这篇大家比较熟悉,相对于上篇直接丢到误差函数进行优化求解的方法,沈老师他们借鉴了 ORBSLAM VIO 的做法,分步求解gyro bias, 尺度,速度,重力方向等参数。这篇论文和 ORBSLAM VIO 不同之处在于,它在初始化过程中不考虑 acc bias 的影响,因为通常 acc bias 相对于重力加速度不太可观,作者在论文中用实验表明,初始化过程中,只有当系统有足够的旋转时(超过30度),acc bias 才能收敛的比较好。反过来,如果初始化过程中忽略 acc bias, 通常 acc bias 对单目相机尺度的估计影响是在一个可接受范围内。
  4. 2018 年 ICRA,Online Initialization and Automatic Camera-IMU Extrinsic Calibration for Monocular Visual-Inertial SLAM. 求解VIO初始化过程中所有的参数,该论文在 ORBSLAM VIO 的框架下加入了外参数的标定。外参数旋转和平移的计算则参考沈老师的他们的做法。
  5. 2018年 ISMAR, Visual-inertial slam initialization: a general linear formulation and a gravity-observing non-linear optimization
  6. 2017 年 IROS, Inertial-Based Scale Estimation for Structure from Motion on Mobile Devices. 上面几篇都是基于 IMU 预积分的, 把短时间内的加速度什么的积分起来, 然后和视觉算的姿态构建误差, 优化出那些变量. 这篇论文不一样, 它是将相机姿态转换成角速度和加速度,和 imu 测量值去构建误差. 并且提出了频域对齐的方法, 值得一读.
时间戳标定
  1. 2018 年 ECCV, Modeling Varying Camera-IMU Time Offset in Optimization-Based Visual-Inertial Odometry 沈老师组博士 yongen lin 的论文. 基于VINS-Mono的论文. 该论文认为imu 和 cam之间不是时间同步的, 时间延迟

t

d

t_d

td​ 也不是常数, 而是一个时变的变量. 可以认为作者把这个时间延迟当做了一个 imu 的 bias, 每次迭代优化出时间

t

d

t_d

td​, 都会将 camera 的姿态进行补偿, 从而把时间因此耦合到误差项进行优化. 这是在腾讯 AI Lab 的工作, 代码没有开源.
2. 2018 年 IROS, Online Temporal Calibration for Monocular Visual-Inertial Systems. 沈老师他们最新 VINS-Mono 代码里已经集成了这个时间戳标定的代码, 算法假设 imu 和 cam 之间的延迟是常数的, 和以往将相机姿态利用速度和角速度乘以时间差进行补偿不同, 沈老师他们设计的非常巧妙 (比上一篇感觉更优雅). 将 imu 和相机之间的时间延迟, 变成图像平面特征检测的位置的延迟, 这样就简化了整个误差函数.
3. 2020 年 TRO,Real-Time Temporal and Rotational Calibration of Heterogeneous Sensors Using Motion Correlation Analysis,沈老师组论文,利用协相关滤波找到 IMU 测量的角速度(做了个平均滤波)和其他传感器估计的角速度(相邻两帧的旋转矩阵除以时间间隔)之间的时间延迟。方法虽不是特别创新,但做的深入且成系统,值得一读。

自监督在线标定
  1. 2013 年 IVS,Self-supervised Calibration for Robotic Systems. 标定工具 Kalibr 对应的论文。这篇论文非常值得一读,将传感器内外参数和机器人状态一起在线估计,并详细推导和描述了什么时候用测量数据自动更新估计的传感器参数。论文从最小二乘出发,描述了高斯牛顿估计所有参数的过程,并指出了数值计算不稳定会影响信息矩阵可观性的解决方法(即对特征值小于一定阈值的维度不进行更新)。最后提出了使用信息熵来判断新的测量数据是否用来更新内外参数的算法流程(直观理解:判断在新数据条件下待估计参数的协方差的行列式相比之前数据条件下待估计参数的协方差的行列式是否下降了一定阈值)。这篇论文中提到的可观性,信息矩阵,以及他的在线更新方法都很值得一读。同时,作者在ETH的硕士论文以及truncated_svd代码都在github上开放了。
  2. 2017 年 ICRA, Visual-inertial Self-calibration on Informative Motion Segments. 李名扬二作,思路和上篇差不错,也是判断信息熵协方差之类的决定参数是否更新。2019 年 IEEE Sensors Journal, Observability-aware Self-Calibration of Visual and Inertial Sensors for Ego-Motion Estimation. 他们把 17 年的论文进行了扩充。另外,一作小哥已经 ETH 博士毕业,也可以读读他的博士论文 thesis.pdf
可观性,一致性,不变性
  1. 2005 年 IJRR, John J. Leonard ,Exactly Sparse Extended Information Filters forFeature-Based SLAM. 大佬们的IJRR, 这篇文章虽然跟可观性啥的没关系,但是他讲了信息矩阵的 fill-in 问题,能帮你梳理信息矩阵,协方差矩阵,marginlization 之间的关系。
  2. 2012 年 ICRA, Consistency Analysis for Sliding-Window Visual Odometry. 其实sliding window VO早期的论文应该是2006年G.Sibley,但是个人感觉没Dong-Si 的论文写得好。Dong-Si 12 年的这篇论文把滑动窗口BA中雅克比不一致导致的可观性消失讲的清晰易懂,很容易就理解了FEJ的来头。八卦一下,Dong-Si 的个人主页,工作简历可以看出12年毕业后就没做 SLAM 了,搞数据库SQL啥的去了,联想到2012年在TRO上首次提出预积分的作者也做玩具去了,估计那会SLAM不好找工作吧。
  3. 2006 年,Observability and fisher information matrix in nonlinear regression. 说了什么是可观不可观, 以及和信息矩阵的联系。不是从滤波那个状态方程去推导的。
  4. 2012 年, msckf 那个实验室的技术报告,Observability-constrained Vision-aided Inertial Navigation. 之前的操作是 FEJ, 带来的问题是线性化点的误差比较大,这篇论文直接对可观性矩阵进行强制零空间约束,也就是强制使得传递矩阵的零空间维数不会减小。论文中对这个约束对雅克比矩阵的影响进行了推导,得到了一个闭式解,宾大的开源代码 mskcf_mono 对这个进行了实现。这篇论文另外一个值得学习的地方是在附录中对 IMU 的 propagation 的误差状态转移矩阵

Φ

\boldsymbol{\Phi}

Φ 进行了详细的推导。当然,Mingyang Li 的技术报告 也对零空间,状态转移矩阵进行过详细推导。仔细阅读这两个论文,就能把套路摸清。当然 VIO 的可观性论文很多, 不过都是明尼苏达那实验室出来的,比如还有这个 Unobservable Directions of VINS Under Special Motions 也可以看看。
5. 2016 年 arxv,Barrau,An EKF-SLAM algorithm with consistency properties. 不变性理论:当给定数据和系统,作者认为系统每个时刻的协方差(不确定度)应该就确定了,和我们估计的各时刻状态量没关系。上面那些认为线性化点不同而造成协方差估计出现问题的论文并不本质,因此作者提出了不变性 EKF. 这篇论文从 2d ekf 这个简单的例子进行阐述,对理解该算法很有帮助,该算法确实找到了问题本质。作者的其他论文都较理论,下面那篇是他的 15 年的博士论文,感兴趣的可以继续深入。
6. 2015 年 phd thesis, Non-linear state error based extended Kalman filters with applications to navigation. 作者Axel Barrau 和他导师一直沿着 invariant ekf 的路在走,发了很多关于不变性的文章。
7. 2018 年 IROS,Invariant Smoothing on Lie Groups. Barrau 的小师弟把不变性做从 ekf 扩展到了优化的框架。
8. 2018 年 Phd Thesis,Improving Visual-Inertial Navigation Using Stationary Environmental Magnetic Disturbances. 该作者也去过Cremers组,发了一篇鱼眼 LSDSLAM。不过博士论文跟那个没关系,他的第七章对一致性的几种方法(EFJ,OC-EKF, condition, robocent, invariant)进行了大致算法分类和梳理,并在自己系统中采用了 invariant ekf 。

其他
  1. 2018 年 IROS, zhichao zhang, A Tutorial on Quantitative Trajectory Evaluation for Visual(-Inertial) Odometry. 轨迹评测的论文,Scaramuzza 组做的工作都非常扎实,细致。
  2. 2018 年 RAL, zhichao zhang, On the Comparison of Gauge Freedom Handling in Optimization-based Visual-Inertial State Estimation . VIO 有四个不可观的自由度,优化的时候需要特别处理这四个自由度,通常有三种方法,是固定这四个自由度,还是给这四个自由度加先验,还是像 vins-mono 那样任意优化这四个自由度最后reset? 这篇论文就这个问题进行了详细讨论。结论是三种方式精度都差不多,但是任意优化然后reset的操作会收敛的快一点。不过任意优化的不好之处在于他没有一个参考系,信息矩阵的逆得到的协方差没有太多的意义,作者参考引用14中的方法给出了解决方案。最后,作者给出了协方差的变换那部分的代码
  3. 2018年 ECCV, Fast and Accurate Camera Covariance Computation for Large 3D Reconstruction。如何从BundleAdjustment里面快速恢复协方差,同时这个论文给了一个零空间的计算方法。这个零空间和dso代码中的计算方法一致,其实也是和前面 mingyang li 他们的算法是一致的,只不过给出的另一个视角下零空间原来是这么来的。
  4. 2013 年 BMVC, Steven Lovegrove ,Spline Fusion: A continuous-timerepresentation for visual-inertial fusion withapplication to rolling shutter cameras. 这篇论文三作是sliding widow filter 作者 Sibley, 用样条差值的方法来解决 rolling shutter 的问题,另外样条插值的方法也用到了 imu 数据的仿真中,给定特定时刻的姿态,他能从姿态插值生成线速度,加速度等数据。
  5. 2018 年 IROS, Arno Solin, VIO 数据集,用 iPhone 等设备采集的,对标 ARkit, ARcore, ADVIO: An Authentic Dataset for Visual-Inertial Odometry. 除了数据集贡献,作者也写过 VIO 论文, 18 年的 wacv 论文,PIVO: Probabilistic Inertial-Visual Odometry for Occlusion-Robust Navigation,17 年的 Inertial Odometry on Handheld Smartphones.
  6. 2017 年,msckf 组,Edge-based visual-inertial odometry. (占坑)
  7. 2010 年,Zero-Velocity Detection—An Algorithm Evaluation. 2013 年 Tutorial: Implementing a Pedestrian Tracker Using Inertial Sensors.
  8. 2013 年,Computing Velocities and Accelerations from a Pose Time Sequence in Three-dimensional Space. 弗莱堡大学的一个技术报告,从 一系列 pose 生成速度加速度。

VO 前端

光照处理
  1. 2017 年 ICRA, Illumination Change Robustness in Direct Visual SLAM ETH的论文,针对直接法对光照不鲁棒的问题,调研了十来种处理方法,有些参考意义。
  2. 2017 年 RA-L, P. Bergmann, Online Photometric Calibration of Auto Exposure Video for Realtime Visual Odometry and SLAM. Cremers 组的工作,对 DSO 光度标定算法进行了加强,变成了在线光度标定,并用于光流跟踪,看上他们的光流对光照变化比较适应,效果不错。
  3. 2017 年 ICRA,Zichao Zhang, Active Exposure Control for Robust Visual Odometry in HDR Environments 光照相应模型讲的比较清楚,也在直接法的 VO 里应用了。
特征匹配
  1. 2018 年 IROS, Geometric-based Line Segment Tracking for HDR Stereo Sequences. PL-SLAM 作者做的一个关于双目序列图像的直线匹配工作. 传统的直线匹配都是提取描述子之类的, 但是对于序列图像, 图像之间的运动变化比较小, 可以利用直线在图像里的几何性质来完成匹配(如直线在图像里的角度). 作者提出的方法不依赖图像特征, 匹配速度也比 LBD 有所提高. 直线长度差不多, 直线角度差不错, 对于直线中心点也加了一个极线条件. 将这些条件组合在一起构建了一个误差函数, 进行L1优化, 每个直线只找到一个对应的匹配项,使得匹配误差最小.

img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上C C++开发知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以戳这里获取

以上C C++开发知识点,真正体系化!**

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以戳这里获取

  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值