单目视觉SLAM算法是机器人自主导航、增强现实跟踪注册等领域的研究热点。SLAM的本质是贝叶斯状态估计,依据观测方程不断更新状态方程[1]。传统的SLAM算法在环境中缺乏标志物或者环境单一的情况下会出现定位不准确的问题。基于此问题研究了视觉惯性SLAM算法[2]。通过在前端提取特征点,进行特征点匹配建立地图,同时在后端通过非线性优化算法来求解。该组合方法一方面,相机提供了丰富的环境信息,可以构建三维模型、定位和识别相机已经访问过的地点;另一方面,SINA传感器提供了自运动信息,可以恢复单目视觉的尺度信息、估计重力方向、提供可视的绝对俯仰和滚动[3]。但上述方法还存在以下问题:①没有回环检测或缺乏地图重利用功能,这会导致预测的轨迹漂移不断增加;②紧耦合的视觉惯性系统考虑了特征之间的交叉耦合使其运算复杂度为O(M2),这制约了紧耦合系统的工作范围,当SLAM的地图扩展到一定大小,实时性就很难被满足;③传统的SLAM/SINS组合导航系统中SINS的价格比较昂贵,无法满足一些特定使用场合[4]。
针对上述问题,首先提出了一种在移动设备上实现的视觉惯性SLAM松组合组合方法,降低计算复杂度;通过使用移动设备自带的消费级陀螺仪满足了特定场合的定位精度,如移动端增强现实的跟踪注册。其次,对关键帧进行回环检测,提高了定位精度,解决了漂移问题。
本文研究单目视觉ORB-SLAM/SINS松组合的定位技术。介绍了传统视觉惯性SLAM方法的不足;基于ORB-SLAM算法的工作原理,根据ORB-SLAM的输出,结合SINS导航并利用最小二乘法计算出尺度因子;同时,构建SLAM/SINS的非线性卡尔曼滤波器,将ORB-SLAM系统输出的姿态信息经过尺度变换后作为卡尔曼滤波器的观测量;最后通过3个实验来验证本文算法的可行性。
1 整体框架
系统主要包括3个部分。首先通过ORB-SLAM算法求出相机的相对姿态和位置;然后结合SINS导航求得ORB-SLAM算法的尺度因子;最后将ORB-SLAM算法的输出经过尺度因子的变换后作为观测量进行卡尔曼滤波,从而实现视觉惯性SLAM定位松组合方法。算法的整体框架如图1所示。
2 单目ORB-SLAM算法及尺度因子估计
2.1 单目ORB-SLAM算法
单目视觉ORB-SLAM算法分为3个并行的线程[5]:跟踪、地图构建以及回环检测。算法的总体框架如图2所示。
暂无评论内容