1 摘要
本文提出了一种检测和解决视觉惯性测距中运动冲突的新方法。近年来,为了提高定位精度和鲁棒性,将IMU传感器与视觉测距相结合的方法已经很普遍。然而,当两种传感器模态之间出现分歧时,定位精度会急剧下降并导致不可逆转的误差。在这种情况下,基于所使用的观察集合的多个运动估计的情况是可能出现的。这在确定哪些观察结果用于精确的自我运动估计时产生冲突(运动冲突)。因此,
- (1)我们提出了一种基于每帧位置估计差异和每个地标重投影误差来检测运动冲突的方法。
- (2)此外,我们还提出了一种通过消除不一致的IMU和地标测量来解决运动冲突的方法。
- (3)最后,我们通过结合运动冲突的检测和解决方案来实现运动冲突感知的视觉惯性测距(MCVIO)。
我们在视觉和惯性挑战数据集上对MC-VIO进行定量和定性评估。实验结果表明,与现有技术的参考VIO算法相比,MC-VIO算法将运动冲突场景的绝对轨迹误差增加减小了80%,相对姿态误差减少了60%。
2 引言
自我运动估计是移动设备的基本问题,如自动汽车,增强现实等。最近的Visual Odometry(此处)方法已经实现了基于视觉特征和像素信息的实时位姿追踪。然而,由于单一的传感器形式,VO在诸如无纹理的视觉环境和变化的光条件等具有挑战性的情况下容易失败。
为了克服这一问题,IMU测量被用于增强VO的鲁棒性,从而有了VIO。IMU有很高的取样率,但是随着时间上的漂移累积,精度会下降。多亏了补足特征,VIO在缺乏光照和几何信息的动态区域也能拥有准确和鲁棒的估计结果。从IMU获得的线性加速度和角速度通过卡尔曼滤波器或非线性优化器进行fused。
通常,在实际应用中违反了视觉和惯性测量彼此一致的VIO的基本假设。 例如,考虑驾驶车辆的机器人[14]或在移动平台上携带VIO设备的乘客(图1)。 为了估计VIO设备相对于惯性框架的运动,可以使用IMU测量值和车辆外部的界标,因为它们与目标运动一致。 然而,车辆内的界标不传达关于该动作的信息。 如果我们需要估计VIO相对于车架的运动,则这种情况是相反的。 与多传感器装置中的测量之间的噪声相反的基本分歧(其降低了估计运动的准确性和鲁棒性)被称为运动冲突。
在本文中,我们提出了检测和解决运动冲突的新方法。 特别地,为了检测运动冲突,我们实现
(1)每帧冲突检测器,它组合了IMU-only和visual-only系统之间的位置估计的差异,以及
(2)基于来自多个视图的边际重投影误差的每地标冲突检测器。
为了解决运动冲突,我们实现(1)IMU主导的方法,其仅在运动冲突期间保留惯性约束,以及(2)选择性融合方法,其另外保留与运动冲突期间的惯性运动一致的视觉约束。
有人可能会建议将RANSAC [15]或M估计[16]作为异常检测和拒绝方法来解决运动冲突。 然而,这些方法使用最大支撑找到最佳拟合,并且当最大支撑不可用时,不能确定哪个自动运动与惯性框架一致。 此外,在存在两个具有相似支撑的运动的场景中,RANSAC可能在它们之间振荡,因为它无法确定始终遵循哪个运动。
论文的主要贡献点如下:
1 提出运动冲突的检测方法;
2 提出运动冲突的恢复方法;
3 在visual和inertial困难的场景下对MC-VIO的运动冲突感知进行评价。
第二部分总结了动态世界的现有视觉定位方法。 接下来,第三节为VIO提供了一个简短的数学描述。 接下来是第四部分,它将VIO扩展到运动冲突的情况。 第五节和第六节描述了我们分别检测运动冲突和解决运动冲突的方法。 接下来,第VII部分介绍了使用三重窗口优化策略实现运动冲突感知VIO(MC-VIO)的实现。 第VIII节介绍了MCVIO算法的定性和定量评估。 最后,第九节介绍了未来工作的结论和方向。
3 VIO(visual inertial odometry)
机器人定位的目的是基于在传感器框架S上进行的观察来估计系统相对于世界框架W的轨迹。轨迹是VIO系统状态的一部分,系统状态 ( X 0 : N W ) (X_{0:N}^W) (X0:NW)由位姿 W p W S ^Wp_{WS} WpWS,方向 q W S q_{WS} qWS和速度 S v ^Sv Sv组成。除此之外,IMU测量到的线性加速度和角速度偏差 b a b_a ba, b g b_g bg和地标位置 W l j ^Wl_j Wlj被添加到状态向量中。我们根据状态的最大后验(MAP)标准优化来估计轨迹,
使用同步IMU立体相机对观察VIO状态。 我们在每个时间步k的观察由特征匹配 z 1 : k − 1 z_{1:k-1} z1:k−1和原始IMU测量组成 u k = { S a ^ , S ω ^ W S } uk = \{S_{\hat a},S_{\hat ω~WS}\} uk={Sa^,Sω^ WS}。
使用MAP方法进行状态估计的表示方法如下:
使用状态流形的切线空间中的局部参数化δχk来描述误差状态 δ X k δX_k δXk
类似于[11],根据等式(3)中描述的IMU运动学f(·),使用uk传播先前估计状态 X k − 1 X_{k-1} Xk−1 ( X k = f ( X ^ k − 1 , u k ) ) (X_k = f(\hat X _{k-1},u_k)) (Xk=f(X^k−1,uk))。
其中Ω(·)定义了旋转速率的叉积矩阵算子,g表示重力和nbg,nba是从IMU制造商处获得的随机游走噪声。 非线性连续时间IMU运动学f(·)可以线性化并表示为差分方程:
其中Q是过程噪声, F d F_d Fd是f(·)的一阶泰勒级数近似。
利用更高速率的惯性测量,系统的状态被传播,并且当相机测量可用时,基于系统的错误状态进行更新。 预测误差是先前状态 X k X_k Xk和后状态 X ^ k \hat X_k X^k之间的差:
非线性相机测量模型用于将测量 z k z_k zk转换为界标状态 W 1 ^W1 W1。 变换 T S C T_SC TSC将测量值从摄像机坐标系C转换为系统坐标系S. π(·)是由摄像机传感器模型定义的投影函数。
在状态传播之后由摄像机i观察到的界标 W l j ^Wl_j Wlj的重投影误差由下式给出:
最后,将在图像时间步长k处结合预测误差和重投影误差的联合优化表示为加权和[11]。 权重矩阵Wr和Ws由测量中的协方差的倒数确定。