申请试用
登录
核心技术
以原创技术体系为根基,SenseCore商汤AI大装置为核心基座,布局多领域、多方向前沿研究,
快速打通AI在各个垂直场景中的应用,向行业赋能。

ISMAR 2021|浙江大学和商汤联合提出适应于挑战性场景下的视觉惯性里程计

2021-11-11

摘要 · 看点

 

在 ISMAR 2021 上,商汤研究院和浙江大学 CAD&CG 国家重点实验室合作提出适应于挑战性场景下的视觉惯性里程计。本工作首先基于深度学习设计了一个鲁棒的不依赖视觉的惯性运动跟踪网络,接着紧耦合视觉、IMU 和网络信息,提出了 RNIN-VIO 系统,在安卓手机上实现了整套方案。离线数据集和在线 AR Demo 实验表明该系统的精度和鲁棒性都优于现有方法。

 

RNIN-VIO: Robust Neural Inertial Navigation Aided Visual-Inertial Odometry in Challenging Scenes1

 

Danpeng Chen,1,2  Nan Wang,2  Runsen Xu,1  Weijian Xie,1,2  Hujun Bao,1  Guofeng Zhang1* 

1State Key Lab of CAD&CG, Zhejiang University  2SenseTime Research and Tetras.AI

 

Part 1 论文动机

 

实时的高精度和鲁棒的 6DoF 运动跟踪是增强现实运用的关键技术之一。虽然现有的视觉惯性里程计只使用移动平台上消费级的相机和低廉的 IMU 就能取得比较高的运动跟踪精度和较优的鲁棒性,但是现有视觉惯性里程计仍然依赖连续可靠的视觉跟踪,在挑战性场景(如弱纹理、重复纹理、动态环境、快速运动、远景等)下很容易失效。

 

Part 2 创新点

 

1)  提出一个新的基于深度学习的惯性网络去学习人体运动规律;设计了相对和绝对损失,能让网络同时关注到局部精度和全局精度

 

2)  提出了紧耦合视觉、IMU、惯性网络测量的多传感器融合里程计

 

Part 3 相关工作

 

目前与本文工作相关的里程计主要分为两种:视觉惯性里程计和深度学习的 IMU 里程计。

 

1.  视觉惯性里程计

 

视觉惯性里程计可以分为基于滤波和基于优化的方法。滤波方法的典型代表是 MSCKF[1]。它使用多状态卡尔曼滤波融合视觉和 IMU 信息,且将视觉特征零空间化,计算量较低且精度较优。SR-ISWF[2] 是另一种典型的滤波 VIO。由于系统采用均方根的形式,它可以在确保数值稳定情况下,使用单精度浮点去加速运算。优化方法典型代表有 OKVIS[3],VINS-Mono[4]。他们使用优化方法最小化重投影误差和预积分 IMU 误差。尽管这些方法已经取得较优的精度和鲁棒性,但是在极端视觉场景下,他们仍然容易失效。

 

2.  深度学习的IMU里程计

 

这块主要工作有 IONet[5],RoNIN[6],TLIO[7]。IONet 第一个提出使用 LSTM 网络直接回归固定窗口的相对位移和旋转。RoNIN 假定旋转已知,用网络直接回归窗口平均速度。TLIO 将 RoNIN 网络改进成 3D 版本,并用 EKF 融合 IMU 测量和网络测量,取得更高的定位精度。但是这些方法都没有考虑人类运动在时序上是连续的且有明显的规律。

 

Part 4 方法描述

 

图片26.jpg

图1 系统框架

 

如图1所示,系统主要包括四部分。预处理,初始化,惯性神经网络和融合滤波。

 

预处理:从每帧图像上提取角点特征,并利用 KLT 进行连续帧图像跟踪。连续两帧图像之间的 IMU 进行预积分处理。同时我们维护一个 IMU Buffer 作为惯性神经网络的输入数据。

 

初始化:为了让系统适应各种各样的运动,当系统检测到当前是静止时,采用静止初始化,若为运动,则采用运动初始化。

 

惯性神经网络:惯性神经网络学习运动的先验分布。网络采用一个局部窗口的 IMU 作为输入,在无需已知初始速度情况下,回归窗口的相对位移和不确定度。不考虑噪声情况下,同样的窗口 IMU 数据,不同初速度对应不同的运动,所以单纯靠 IMU 数据是无法估计具体运动的。我们相信尽管运动分布是非常广阔的,但是人体运动分布应该是非常窄的,同样的 IMU 数据对应不同的运动应该非常罕见。基于这个考虑,我们相信网络可以进行合理的运动预测。

 

融合滤波:滤波系统紧耦合视觉、IMU 和网络测量信息。其中视觉信息是可以被随时移除的,这样系统将变成纯 IMU 里程计。

 

图片27.jpg

 

惯性神经网络

 

图片28.jpg

图2 惯性神经网络

 

图片29.jpg

图3 损失函数

 

我们设计一个惯性神经网络去学习人体运动在时序上的规律。我们的网络架构如图 2 所示,主要由 1D 版本的 ResNet18, LSTM 和全连接层组成。ResNet 网络用于学习人体某个动作的隐层特征。我们认为人体运动是连续平滑且有明显规律的。所以我们使用 LSTM 融合当前动作的隐层特征和之前的隐层特征来估计当前动作最好的隐层特征。最终使用全连接层解码隐层特征,回归窗口相对位移和不确定度。

 

损失函数如图 3 所示。为了让网络能关注到局部精度和更长窗口的绝对精度,我们设计了相应的相对损失和绝对损失函数,后面实验验证了损失函数的有效性。

 

多传感器融合的6DoF跟踪

 

为了构建一个高鲁棒,高精度的视觉惯性里程计,我们尝试把鲁棒但低精度的惯性神经网络测量整合到传统视觉惯性里程计中。传统的视觉惯性里程计能估计精确的 IMU 状态(如位姿,速度,重力方向,偏置等)。通过这些精确的 IMU 状态可以对原始 IMU 数据进行预处理,给惯性网络提供更好的输入数据,提升网络估计的精度。另外,更精确的网络估计,能反过来增强系统鲁棒性。

 

视觉惯性里程计大部分模块和传统 VIO 类似,这里不再赘述。我们主要讲述惯性神经网络测量能量函数部分。这里有两点需要特别注意,1、网络在 yaw 上是旋转等变性的;2、网络预测的时间戳不一定和估计状态的时间戳是对齐的。惯性神经网络观测能量函数为:

图片30.jpg

由于预测和估计的时间戳不对齐,所以我们使用预积分去对齐时间戳:

图片31.jpg

 

Part 5 实验结果

 

我们将提出的方法 RNIN-VIO 和下面方法进行对比: (a) 3D-RoNIN[6], (b) TLIO[7], (c) Ours (wo AL) 是在我们提出的惯性神经网络基础上去掉绝对损失函数, (d) BVIO 是我们的RNIN-VIO 系统去掉惯性神经网络测量, (e) VINS-Mon。

 

神经网络部分实验

 

我们在开源的 IDOL[8] 数据上测试我们的惯性神经网络方法和现有方法。同现有方法对比,我们方法取得更高的绝对精度和相对精度。惯性神经网络也能泛化到不同人、不同设备和不同环境。我们设计的相对损失和绝对损失有效提升网络整体精度。

 

图片32.jpg

图4 测试数据集上累积密度函数

 

图片33.jpg

图 5 惯性神经网络估计轨迹图

 

图片34.jpg

表格 1 神经惯性网络精度对比

 

RNIN-VIO 实验

 

我们用华为 Mate20 Pro 手机采集了多组室内外数据进行对比。结果表明在正常场景下 RNIN-VIO 和 BVIO 精度接近,而在挑战性场景下,RNIN-VIO 精度和鲁棒性显著好于 BVIO。

 

图片35.jpg

表格2 RNIN-VIO精度对比

 

Reference:

 

[1] A.I.MourikisandS.I.Roumeliotis.Amulti-stateconstraintkalman filter for vision-aided inertialnavigation. In Proceedings of IEEE International Conference on Robotics and Automation, pp. 3565–3572. IEEE, 2007.

[2] K. Wu, A. Ahmed, G. A. Georgiou, and S. I. Roumeliotis. A square

 

root inverse filter for efficient vision-aided inertial navigation on mobile devices. In Robotics: Scienceand Systems, vol. 2, 2015.

[3] S. Leutenegger, S. Lynen, M. Bosse, R. Siegwart, and P. Furgale. Keyframe-based visual–inertialodometry using nonlinear optimization. The International Journal of Robotics Research, 34(3):314–334,2015.

 

[4] T. Qin, P. Li, and S. Shen. VINS-Mono: A robust and versatile monoc- ular visual-inertial stateestimator. IEEE Transactions on Robotics, 34(4):1004–1020, 2018.

[5] C. Chen, X. Lu, A. Markham, and N. Trigoni. IONet: Learning to cure the curse of drift in inertialodometry. In Proceedings of the AAAI Conference on Artificial Intelligence, vol. 32, 2018.

 

[6] S. Herath, H. Yan, and Y. Furukawa. RoNIN: Robust neural inertial navigation in the wild:Benchmark, evaluations, & new methods. In Proceedings of IEEE International Conference on Roboticsand Automation (ICRA), pp. 3146–3152. IEEE, 2020.

[7] W. Liu, D. Caruso, E. Ilg, J. Dong, A. I. Mourikis, K. Daniilidis, V. Kumar, and J. Engel. TLIO: Tightlearned inertial odometry. IEEE Robotics and Automation Letters, 5(4):5653–5660, 2020.

[8] S. Sun, D. Melamed, and K. Kitani. IDOL: Inertial Deep Orientation- Estimation and Localization.arXiv preprint arXiv:2102.04024, 2021.