基于关键帧的RGB-D视觉惯性里程计
作者:魏宏宇
来源:公众号@3D视觉工坊
注:如果想看更棒的排版,建议直接原文:https://mp.weixin.qq.com/s/bZZke4-Huq2o0Iv1XiTqww
论文信息:Chu C , Yang S . Keyframe-Based RGB-D Visual-Inertial Odometry and Camera Extrinsic Calibration Using Extended Kalman Filter[J]. IEEE Sensors Journal, 2020, PP(99):1-1.
摘要:这篇论文提出了一个新的基于RGB-D相机和IMU的视觉惯性里程计。为融合视觉和惯性传感器测得的数据信息,在论文中运用了EKF(扩展卡尔曼滤波),并提出迭代的方法来减少线性误差。论文中提出的算法不仅可以估计相机的轨迹,还能标定重力和相机外参(即相机和IMU之间的相对位姿)。在视觉里程计部分,采取了关键帧策略,这种方法要比帧间对齐好一些。另外,我们结合了基于特征的视觉里程计和基于ICP的视觉里程计,从而增加系统的精度和姿态估计的鲁棒性。仿真结果和实际数据验证了该方法的有效性。
简介:这篇论文旨在为使用IMU和RGBD传感器的室内机器人提供一个准确、鲁棒的导航系统。使用深度传感器而不是单纯的单目双目相机的优点在于由于深度相机的使用,我们可以跳过深度估计步骤,从而减少计算量和误差。在图像匹配对齐方面,主流上有两种方法:特征点法和直接法。特征点法通过最小化特征点的重投影误差来估计位姿,而直接发通过最小化光度(深度)误差来估计位姿。基于特征点的算法鲁棒性更好一些,但直接法的准确度更胜一筹。因此在本文提出的算法中,我们结合了两种算法以同时实现鲁棒性和准确度。
本文贡献:1)在同一个 EKF中结合了基于RGB(特征点法)和基于深度(ICP)的视觉里程计和IMU,这同时保持了鲁棒性和精度。2)提出了一个将关键帧位姿作为状态向量一部分的EKF模型3)不仅标定了相机外参,还在线估计了重力向量
系统框图
算法概述:1、结构介绍
首先,通过IMU的数据估计机器人的运动。当新的一帧图像传入系统时,在RGB图像中检测和提取修改后的ORB特征。进行特征匹配后,首先更新EKF状态,并将其应用于ICP算法的初始化,ICP算法在当前帧和关键帧之间运行。如果结果发生了收敛,EKF再次更新。2、EKF部分在本文提出的算法中,IMU状态、相机外参、重力、关键帧的姿态等均包含在状态向量中。状态向量如下:
误差向量:
由于速度等参数是在关键帧坐标系下表示的,因此对速度传播更新的方程进行调整,得到新的连续时间状态估计传播方程:
为了时间上的同步,我们在两个图像帧之间存储IMU测量值。当有新的帧进入系统时,利用存储的我IMU数据进行状态估计和协方差矩阵的传播,同时,使用4阶Runge-Kutta算法在两帧之间的时间段内对向量和矩阵进行积分。
3、特征匹配的量测模型
4、ICP里程计量测模型为提高效率,我们在EKF中采用ICP测量的松耦合。对于ICP来说,在本文算法中,采用点-面矩阵。关键帧和当前帧之间的相对位姿可表示为:首先,上式和EKF估计的位姿均被用于ICP初始化。对于每一次迭代,相机坐标系中的每一个点都被投影到关键帧坐标系:残差表示为:上式线性化后得到:
实验结果:
在实景实验中,设置了4种场景进行实验验证:1)不进行相机外参标定的VIO2)不进行重力标定的VIO3)包含相机外参和重力标定的VIO(本文算法)4)不使用ICP算法的VIO下图展示了四种场景的轨迹估计结果。四种场景的误差分别为2.92%,3.05%,0.57%,2.41%。
总结此论文中,我们提出了一个实时的基于关键帧的RGB-D视觉惯性里程计,在此系统中,相机外参参数和重力参数均可被在线标定。主要的贡献在于在一个EKF中推导出了结合关键帧、标定以及特征点和ICP测量的方程。
本文仅做学术分享,如有侵权,请联系删文。
下载1在「3D视觉工坊」公众号后台回复:3D视觉,即可下载 3D视觉相关资料干货,涉及相机标定、三维重建、立体视觉、SLAM、深度学习、点云后处理、多视图几何等方向。
下载2在「3D视觉工坊」公众号后台回复:3D视觉优质源码,即可下载包括结构光、标定源码、缺陷检测源码、深度估计与深度补全源码、点云处理相关源码、立体匹配源码、单目、双目3D检测、基于点云的3D检测、6D姿态估计源码汇总等。
下载3在「3D视觉工坊」公众号后台回复:相机标定,即可下载独家相机标定学习课件与视频网址;后台回复:立体匹配,即可下载独家立体匹配学习课件与视频网址。