VINS_MONO视觉惯性里程计原理与实现

需积分: 22 15 下载量 158 浏览量 更新于2024-07-17 1 收藏 2.52MB PDF 举报
vins_mono解读 vins_mono是视觉惯性里程计(Visual Inertial Odometry,VIO)的一个开源解决方案,主要通过融合图像信息与IMU的信息进行定位与建图。与纯视觉SLAM相比,vins_mono具有更好的鲁棒性,可以在物体运动较快的情况下也不容易跟丢。 **前端之特征追踪** 在vins_mono中,前端主要是通过KTL稀疏光流进行特征点跟踪。KTL光流与LK光流的主要区别在于角点提取算法上的差异,KTL光流使用Tomasi−shi角点,而LK光流采用的是Harris角点。光流追踪可以将特征点匹配,因为会存在追踪之后,vins_mono为了保证有足够的特征点,在剔除追踪失败的特征点之后,会对新的一帧提取新的特征点,保证有足够数目的特征点。 **后端优化** 后端主要是对系统进行系统初始化,这部分是一个松耦合的过程。通过单目特征点匹配可以计算E矩阵或者F矩阵,恢复出旋转和带尺度的平移,然后与IMU预积分得到的旋转和平移进行松耦合优化,恢复出尺度和重力。最终得到初始化较为粗糙的旋转。 **回环检测** vins_mono中回环检测主要是通过词袋库模型和位姿图优化来实现的。词袋库模型可以将图像特征转换为词袋表示,进而实现图像之间的匹配。位姿图优化可以将回环检测结果与位姿图进行优化,从而提高系统的鲁棒性。 **视觉惯性松耦合初始化** 视觉惯性松耦合初始化是vins_mono中的一种初始化方法。该方法通过单目特征点匹配计算E矩阵或者F矩阵,恢复出旋转和带尺度的平移,然后与IMU预积分得到的旋转和平移进行松耦合优化,恢复出尺度和重力。 **视觉惯性紧耦合优化** 视觉惯性紧耦合优化是vins_mono中的一种优化方法。该方法通过将视觉信息与IMU信息进行紧耦合优化,恢复出系统的状态,包括位姿、速度和加速度。 **vins_mono的优点** vins_mono具有多个优点,包括: *鲁棒性好:vins_mono可以在物体运动较快的情况下也不容易跟丢。 *成本低:vins_mono可以在小型VR、AR设备以及手机上实现,成本较低。 *灵活性好:vins_mono可以在不同的应用场景下使用,例如小型VR、AR设备、手机等。 vins_mono是一个功能强大且灵活的视觉惯性里程计解决方案,具有广泛的应用前景。