VINS边缘化是VINS中较难理解的一部分。对边缘化的原理以及VINS中的相关代码分析,不乏相关博客,但个人认为,对整个边缘化的处理逻辑讲解清楚的资料并不多。笔者用了接近2天的时间阅读网上相关资料,结合我认为最有价值的几篇博客,对边缘化的逻辑线进行了梳理,并对相关公式进行了详细推导。
VINS 根据次新帧是否为关键帧,分为两种边缘化策略: 通过对比次新帧和次次新帧的视差量,来决定 marg 掉次新帧或者最老帧:
1) 当次新帧为关键帧时,MARGIN_OLD,将 marg 掉最老帧,及其看到的路标点和相关联 的 IMU 数据,将其转化为先验信息加到整体的目标函数中;
2) 当次新帧不是关键帧时,MARGIN_SECOND_NEW,我们将直接扔掉次新帧及它的视觉观测边,而不对次新帧进行 marg,因为我们认为当前帧和次新帧很相似,也就是说当前 帧跟路标点之间的约束和次新帧与路标点的约束很接近,直接丢弃并不会造成整个约束关系 丢失过多信息。但是值得注意的是,我们要保留次新帧的IMU数据,从而保证 IMU 预积分的连贯性。
文档:VINS边缘化的理解及公式推导.pdf(资源已上传,链接待更新)
- 为什么要进行边缘化
- 边缘化的实质和基本方法
- 结合边缘化进行非线性优化
参考:
https://blog.csdn.net/weixin_41394379/article/details/89975386
泡泡机器人 vins的margin+factor.pdf,游振兴
https://www.cnblogs.com/feifanrensheng/p/10532918.html
来源:CSDN
作者:Jacky_546287052
链接:https://blog.csdn.net/Jacky_546287052/article/details/104064597