关键词:
视觉SLAM
视觉惯性里程计
嵌入式系统
并行计算加速
非线性优化
摘要:
视觉惯性里程计(Visual Inertial Odometry)是融合视觉信息和惯性测量信息的SLAM系统。SLAM是Simultaneous Localization and Mapping的缩写,中文名称为同步定位与地图构建,是现代机器人开发使用中不可或缺的一项技术,随着人工智能水平和计算机计算能力的不断发展,近年来视觉SLAM技术的研究越来越火热。但纯视觉SLAM工作的场景仍然受限,只有在光照良好视觉纹理特征明显的环境下工作,并且在运动发生剧变很容易产生跟踪丢失的现象。而IMU可以通过惯性原理测量目标的运动状态,与视觉信息在某种程度上互补,将两种传感器信息融合到一起,可以得到更准确鲁棒的SALM系统。基于此,本文设计了一种基于优化算法的视觉惯性里程计算法,并将其应用在嵌入式开发平台上。本文的内容主要包括以下部分:(1)设计了一种使用半直接法的视觉里程计,通过在连续的输入图像帧中检测提取FAST关键点,并使用KLT光流法对其跟踪,进而恢复相机位姿,得到相机里程计数据。并且对算法过程进行分析,提出了一种基于ARM处理器NEON并行加速的方法,提高了算法运行速度。并且引用了GRIC选型标准,能够根据正确匹配关键点的特点,正确的选择计算机视觉对极几何模型来进行相机位姿恢复,增加了算法的鲁棒性。(2)分析SLAM系统相关理论并对相关公式进行推导,其中包括:计算机视觉对极几何相关理论推导,IMU预积分相关公式推导,不同导航坐标系之间变换推导,优化算法中目标函数、约束条件推导,以及求解目标函数时Jacobian矩阵的推导。(3)设计了一套完整的视觉惯性里程计系统,提出了一种基于优化算法的视觉惯性紧耦合方案,详细讨论了VIO中的视觉测量约束和IMU测量约束,按照状态向量之间的约束推导了非线性优化的目标函数,并介绍了优化算法中滑动窗口边缘化的策略,最后,采用了一种基于词袋模型的回环检测方法,通过检测回环帧,实现了重定位的功能,并且将回环约束加入到后端优化中,减小累计误差,消除轨迹漂移,进行了全局一致性的位姿图优化。(4)最后对本文设计的VIO算法进行实验验证,验证了本文设计的视觉前端加速方法有效可行,并使用公开数据集Eu Ro C数据集进行算法整体的验证实验,最后通过与传统基于滤波算法的视觉惯性SLAM系统OKVIS进行对比,证明了本文设计的基于优化算法的VIO算法的具有更高的准确性和鲁棒性,能够满足智能移动终端实时性的要求。