计算机视觉方向的视觉惯性里程表介绍
VIO-SLAM
视觉-惯性里程计(VIO VIO),有时也称为VINS(视觉-惯性系统),是一种通过融合相机和惯性测量单元数据来实现SLAM的算法,根据融合框架的不同,可分为松耦合和紧耦合。
其中VO(视觉里程计)仅指视觉里程计,t代表位置和姿态。视觉运动估计和惯性导航运动估计系统是松散耦合的两个独立模块,每个模块的输出结果是融合的。
紧耦合是利用两个传感器的原始数据一起估计一组变量,传感器噪声也是相互影响的。紧耦合算法虽然复杂,但它充分利用了传感器数据,能够取得更好的效果,是目前研究的重点。
相机和IMU的缺点及互补性
相机和IMU的融合是非常互补的。首先,通过将惯性测量单元估计的姿态序列与摄像机估计的姿态序列对准,可以估计摄像机轨迹的真实尺度。此外,惯性测量单元能够很好地预测图像帧的姿态和下一帧特征点的位置,提高了特征跟踪算法的匹配速度和对快速旋转的鲁棒性。最后,惯性测量单元中加速度计提供的重力矢量可以将估计位置转换成实际导航所需的世界坐标系。
随着微机电系统器件的快速发展,智能手机等移动终端可以方便地获取惯性测量单元数据和摄像数据。VINS算法结合了惯性测量单元和视觉信息,可以大大提高单目SLAM算法的性能,是一种低成本、高性能的导航方案,在机器人和增强现实/虚拟现实领域受到了极大的关注。
算法流程
整个流程图可以分为五个部分:数据预处理、初始化、局部非线性优化、环路检测和全局优化。
各个模块的主要作用是:
图像和IMU数据预处理:对图像提取特征点,利用KLT金字塔进行光流跟踪,为仅通过视觉初始化求解相机姿态做准备。对于惯性测量单元,对惯性测量单元数据进行预积分,得到当前时刻的姿态、速度和旋转角度,同时计算出相邻帧间的预积分增量、预积分的协方差矩阵和雅可比矩阵。
初始化:初始化时,先只进行视觉初始化,计算相机的相对姿态;然后与IMU预积分对齐,求解初始化参数。
局部非线性优化:流程图中滑动窗口对应的视觉惯性导航非线性优化,即视觉约束和IMU约束在一个大目标函数中进行优化。这里的局部优化只对当前帧和前N帧的窗口中的变量进行优化,局部非线性优化输出更精确的姿态。
循环检测:循环检测是保存之前检测到的图像的关键帧,当它返回到它经过的同一个地方时,通过特征点的匹配关系可以判断它是否在这里。前述关键帧是可以记录但避免冗余的筛选相机帧(关键帧的选择标准是当前帧和前一帧之间的位移超过某个阈值或匹配特征点的数量小于某个阈值)。
全局优化:当环路检测发生时,全局优化使用摄像机约束、IMU约束和环路检测约束来执行非线性优化。在局部优化的基础上进行全局优化,输出更精确的姿态。
算法核心
局部优化会用到边缘化,只有局部优化精度低,全局一致性差,但速度快,IMU利用率高;只有全局优化精度高,全局一致性好,但速度慢,IMU利用率低;两者侧重点不同,结合起来可以优势互补。
因此,小系列设计实验采用局部优化和全局优化相结合的方法。
eAw8hj4825.jpg" style="height:393px;width:500px;" alt="061ed280-9592-11eb-8b86-12bb97331649.jpg" />局部优化是滑动窗口内相机帧的优化,全局优化是所有关键帧的优化,两者结合会产生边缘帧冲突的问题,因为局部优化会固定滑动窗口边缘帧,而全局优化发生回环检测的时候则会固定回环起点的帧。这里的改进就是采用相对的位姿边缘化,即边缘化以后的点是相对于它上一时刻关键帧的位姿而不是全局的位姿,这样局部优化边缘化相对位姿(关键帧),扔给全局优化整体优化。局部边缘化和全局边缘化的结合部分是关键帧。
相对边缘化可以具体解释为,相对边缘化的参考坐标系不再是世界坐标系,而是与当前帧共视且距离最近的一个关键帧的相机系(设为第k0帧)。视觉约束可以表示为:
区别于绝对边缘化的视觉约束
实验结果与总结
实验一:无人机数据集上的实验
数据集采用了欧盟机器人挑战数据集(EuRoC)。EuRoC 数据集使用 Asctec Firefly 六旋翼飞行器在仓库和房间采集数据,数据集中包括以20Hz采集的相机图像和200Hz的IMU数据,以及运动真值。
实验结果如下:
实验结果可见,融合优化的轨迹和真实轨迹很接近,而仅使用局部优化的定位结果误差不断累积。
实验二:车载数据上的实验
该车载数据是在北京市朝阳区某小区采集的,在数据采集阶段,车辆以5km/h 到 30km/h 的速度行驶,一共行驶2271m。
实验结果如下:
实验结果可见,融合优化后的定位结果明显优于仅使用局部优化的定位结果,融合优化中误差得到及时修正。
参考文献
J. Delmerico. A Benchmark Comparison of Monocular Visual-Inertial OdometryAlgorithms for Flying Robots. 2018. ICRA
T. Qin. VINS-Mono: A robust and versatile monocular visual-inertial state estimator. arXivpreprint arXiv: 1708.03852, 2017.
N. Trawny. Indirect KalmanFilter for 3D Attitude Estimation. 2005.
Sola. Quaternion kinematics for error-state kalmanfilter. 2017.
K. Eckenhoff. Decoupled, Consistent Node Removal and Edge sparsificationfor graph-based SLAM. 2016.
G. Sibley. Sliding window filter with application to planetary landing. 2010.
S. Leutenegger. Keyframe-Based Visual-Inertial SLAM Using Nonlinear Optimization. 2015.
H. Liu. ICE-BA: Incremental, consistenand efficient bundle adjustment for visual-inertial slam. 2018. CVPR.
H. Liu. Robust keyframe-based dense SLAM with an RGB-D camera. 2017.
编辑:jq
延伸 · 阅读
- 2021-04-07 17:24新一代信息基础设施建设大火,它的具体含义是什么
- 2021-04-07 17:24中国移动推出5G终端NZONE S7 射频前端芯片实现全国产化
- 2021-04-07 17:24Go编译器默认启用了-G=3来支持泛型
- 2021-04-07 17:24长时间戴耳机对耳朵有什么危害?骨传导耳机对耳朵影响最
- 2021-04-07 17:24奥普士的智能激光雷达入选肯尼亚山国家公园大象保护项目
- 2021-04-07 17:24腾讯官方宣布全方位助力武汉数字产业的建设与发展 湖北