VINS-MONO的核心思想是,通过对一段滑动窗口内的数据进行紧耦合优化,来提高SLAM的精确性。这里的紧耦合是,将机体的位姿和速度、IMU的偏置、特征点的位置、相机外参等作为待优化参数,通过调节优化这些参数,使得IMU测量误差函数和视觉误差函数最小化VINS-MONO的回环和重定位使用的DBOw2词袋模型。VINS-MONO的核心贡献如下...
VIO紧耦合方案的主要思路就是通过将基于视觉构造的残差项和基于IMU构造的残差项放在一起构造成一个联合优化的问题,整个优化问题的最优解即可认为是比较准确的状态估计。 为了限制优化变量的数目,VINS-Mono 采用了滑动窗口的形式,滑动窗口中的全状态量: 滑动窗口内 n+1 个所有相机的状态(包括位置、朝向、速度、加速...
然而, 将pose移出windows时, 有些约束会被丢弃掉, 这样势必会导致求解的精度下降, 而且当MAV进行一些退化运动(如: 匀速运动)时, 没有历史信息做约束的话是无法求解的.所以, 在移出位姿或特征的时候, 需要将相关联的约束转变成一个约束项作为prior放到优化问题中. 这就是marginalization要做的事情。 VINS-MONO中...
VINS-Mono是一种由香港科技大学沈老师实验室提出的基于紧耦合滑动窗口非线性优化方法的单目视觉-惯性系统。其亮点包括最优的IMU预积分理论、估计器初始化机制、故障检测和复原机制、外参在线校订、优化的紧耦合VIO、重定位机制以及全局位姿图优化模块。论文开源地址:HKUST-Aerial-Robotics/VINS-Mono。VINS的整...
4)不论是否引入 IMU,双目对于精度和鲁棒性都会有一定的提升,VINS Fusion相比于vins mono,性能有所提升; 5)除前端差别较大外(比如光流与ORB、滑窗与局部地图),虽然都是预积分,二者后端算法与实现亦有较大不同(李代数与四元数参数化不同、积分方式不同、g2o与ceres实现差别等),因此造成性能差异的原因较复杂。
Vins-mono是香港科技大学开源的一个VIO算法,https://github.com/HKUST-Aerial-Robotics/VINS-Mono,是用紧耦合方法实现的,通过单目+IMU恢复出尺度,效果非常棒。 感谢他们开源,我从中学到了非常多的知识。源码总共有15000多行,我在通读完程序之后,结合参考文献,把程序背后的算法理论都推导了一遍,总结成了本文,与各位...
Vins-mono是香港科技大学开源的一个VIO算法,https://github.com/HKUST-Aerial-Robotics/VINS-Mono,是用紧耦合方法实现的,通过单目+IMU恢复出尺度,效果非常棒。 感谢他们开源,我从中学到了非常多的知识。源码总共有15000多行,我在通读完程序之后,结合参考文献,把程序背后的算法理论都推导了一遍,总结成了本文,与各位...
本文深入解读VINS-Mono的核心部分——紧耦合非线性优化。紧耦合优化将视觉约束、IMU约束、闭环约束整合在一个大目标函数中,实现滑动窗口内所有帧的PVQ、bias等参数的非线性优化。紧耦合优化的过程包括残差函数构建、视觉约束、IMU约束及基于舒尔补的边缘化操作。构建残差函数时,需要优化的状态量包括滑动窗口...
在估计器初始化后,使用基于滑动窗口的紧耦合单目视觉惯性优化(VIO)进行高精度、鲁棒的状态估计。滑动窗口图示如下:滑动窗口中的完整状态向量由第i帧图像采集时刻的惯性测量单元(IMU)状态和滑动窗口内关键帧的特征总数组成。IMU状态包含IMU在世界坐标系中的位置、速度和方向,以及IMU机体坐标系下的加速度...
VINS-Mono 跟踪部分,采用IMU和视觉残差,以及marginalization的先验,构建优化方程。 在跟踪的过程中,选择只对位姿进行优化(motion-only BA),老的位姿和运动速度以及特征点都当做常数,从而保证相机帧率的位姿估计。 VINS-Mono论文,滑窗中的marginalization:前一帧为关键帧,去掉最老的关键帧并构建marginalization的先验,前...