首页 > 代码库 > VINS(一)简介与代码结构

VINS(一)简介与代码结构

VINS-Mono和VINS-Mobile是香港科技大学沈劭劼团队开源的单目视觉惯导SLAM方案。是基于优化和滑动窗口的VIO,使用IMU预积分构建紧耦合框架。并且具备自动初始化,在线外参标定,重定位,闭环检测,以及全局位姿图优化功能。

方案最大的贡献是构建了效果很好的融合算法,视觉闭环等模块倒是使用了较为常见的算法。

系列博客将结合课题组发表的paper,从代码层面,逐步剖析系统的各个模块,达到对单目VIO整体的把握,帮助自己理解各类算法,并开发出针对应用场景的视觉惯导SLAM系统。最终目标是使用在AR应用中(Android)。

系统pipeline

技术分享

 

主要分为五部分

1. 传感器数据处理:

  • 单目相机Monocular Camera: Feature detection and Tracking
  • IMU: Pre-integration

2. 初始化:

  • 仅使用视觉构建SfM
  • 将SfM结果和IMU预积分结果对齐

3. 基于滑动窗口的非线性优化:

4. 闭环检测:

5. 4自由度全局位姿图优化:

 

主要依赖的库只有OpenCV, Eigen和Ceres Solver,代码目录如下

 技术分享

核心算法都在feature_tracker和vins_estimator包中。

VINS(一)简介与代码结构