浙大最新开源SLAM! 基于多平面先验的高效VIO

2020 年 10 月 13 日 计算机视觉life

点击上方“计算机视觉life”,选择“星标”

快速获得最新干货


简介

SLAM是增强现实(AR)的关键基础技术。要保证在移动设备上长时间的良好AR体验,SLAM的功耗需要尽可能低。特别是对于某些AR应用来说,并不需要一个完整的SLAM系统,即往往不需要回路闭合和重定位功能,而只需要一个轻量级的视觉惯性里程计(VIO)即可。然而要保证VIO在实际场景中能鲁棒运行是一个很有挑战性的问题。在人造环境中,通常都会有平面结构,如果这些平面信息能够被有效地利用起来,将有助于提升VIO的鲁棒性。为此,我们提出了一个基于多平面先验信息的高效鲁棒的轻量级VIO系统PVIO。在这个工作中,我们提出了一个新颖的视觉-惯性-平面PnP算法来实现快速的定位,同时基于重投影一致性来可靠地扩展平面,从而增强在深度高度不确定情况下的跟踪鲁棒性。此外,在滑动窗口优化模块中提出了一个无结构的平面距离约束项,以及相应的边缘化和滑窗策略,可以有效降低计算复杂度,同时保证良好的精度。EuRoC和TUM-VI两个数据集上的实验结果表明,PVIO在跟踪精度上跟现在的前沿VI-SLAM系统VINS-Mono相当,但只需要单线程运行,效率上具有明显的优势。

PVIO运行效果


系统框架

PVIO系统框架


PVIO系统框架如上图所示。根据输入的在线图像帧和对应的IMU测量数据,系统进行特征跟踪和IMU的预积分,并使用视觉-惯性-平面PnP算法来实时输出当前帧的位姿。在这之后,当前帧将被送入到滑动窗口。如果滑动窗口的最后一帧被判定为关键帧,系统就会使用重投影一致性来扩展平面,并且在执行滑窗优化时,使用无结构的平面距离约束项来约束平面上的三维点。在完成优化后,系统将会进行平面检测,扩充已有的平面地图。


平面检测与扩展


在平面检测步骤,我们使用3点的RANSAC法,并且在内点个数超过一定阈值时添加平面。在平面扩展步骤,由于单目VIO在视差不足时,三角化的深度误差仍然比较大,因此我们使用了重投影一致性检查来作为扩展条件。如果一个三维点投射到平面之后的重投影误差仍然小于给定的阈值或者相比原先的重投影误差没有明显的增大,那么就认为这个点归属于这个平面,这不会影响优化的稳定性。


平面约束

平面约束主要分为两个部分:视觉-惯性-平面PnP和无结构的平面距离约束项。

VIP-PnP(视觉-惯性-平面PnP)

在每帧PnP求解中,我们使用了视觉、惯性和平面的三重约束。对于隶属于平面的三维点,我们直接将其投影到使得重投影误差最小的一个平面上;在解算BA时,我们假设这个点是完美地位于平面上,以此来提升PnP解算的稳定性

Structureless Plane-Distance Error(无结构的平面距离约束项)

在VIO的滑动窗口优化部分,我们利用了无结构的平面距离约束项。在对极几何里面,我们已知了一个点在多个位置的观测,可以使用三角化的方法求解出其三维点坐标但是当观测或视差不足时,这个方程的约束会变得不够充分。我们对其增广,把平面的约束也加入到这个Ax=b的结构中,最后再用正规方程得到三维点,并构建点到平面的距离的误差项。

常规的平面约束项,都是在原有的重投影误差项之外,额外再添加一个点到平面的距离误差项,而我们的方法可以把两者合二为一,替代原来的重投影误差项。对于每个在平面上的三维点(Planar landmark)而言,m个重投影误差项可以合并为1无结构的误差项。由于这些平面三维点的状态不再参与到这一误差项中,我们在边缘化时也可以直接跳过这部分点。实测,该方法对计算效率也有一定提升。


实验结果

下图展现了PVIO、VINS-Mono和DSO在TUM-VI数据集Outdoors1序列(有2.7公里长)的轨迹恢复结果。从结果上看,PVIO的累积误差比VINS-Mono更小,而DSO则无法正常恢复轨迹。

TUM-VI数据集Outdoors1序列的轨迹恢复结果对比


在整体精度上面,PVIO也优于一些先进的开源算法,定位的均方根误差RMSE(m)如下表所示,其中,“+/-Loop”表示打开或者关闭回路闭合;对于SVO2,“E+P”和“BA”表示使用Edgelet+Prior和集束调整;对于PVIO,“+/- Plane”表示打开或者关闭平面约束;数值放置在括号中,表示轨迹完整性在80%以下;数值为×,表示轨迹完整性在50%以下(跟踪丢失)。

EuRoC和TUM-VI数据集上的精度测试

下面的视频展示了PVIO在EuRoC和TUM-VI数据集上实时恢复的相机运动轨迹。


PVIO的运行速度很快,可以在iPhone7上单线程实时运行。下图展现了基于PVIO的AR效果,其中,一个虚拟的笔记本电脑放置在真实的笔记本电脑旁边。


在智能手机上的AR效果


论文:

Jinyu Li, Bangbang Yang, Kai Huang, Guofeng Zhang, and Hujun Bao*. Robust and Efficient Visual-Inertial Odometry with Multi-plane Priors. PRCV 2019, LNCS 11859, pp. 283–295, 2019.

下载链接:

http://www.cad.zju.edu.cn/home/gfzhang/projects/prcv2019-planeVIO.pdf

代码仓库:

https://www.github.com/zju3dv/PVIO


专辑:计算机视觉方向简介

专辑:视觉SLAM入门

专辑:最新SLAM/三维视觉论文/开源

专辑:三维视觉/SLAM公开课

专辑:深度相机原理及应用

专辑:手机双摄头技术解析与应用

专辑:相机标定

专辑:全景相机


从0到1学习SLAM,戳↓

视觉SLAM图文+视频+答疑+学习路线全规划!

交流群

欢迎加入公众号读者群一起和同行交流,目前有SLAM、三维视觉、传感器自动驾驶、计算摄影、检测、分割、识别、医学影像、GAN算法竞赛等微信群(以后会逐渐细分),请扫描下面微信号加群,备注:”昵称+学校/公司+研究方向“,例如:”张三 + 上海交大 + 视觉SLAM“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~

投稿、合作也欢迎联系:simiter@126.com

扫描关注视频号,看最新技术落地及开源方案视频秀 ↓


点击原文打开代码仓库

登录查看更多
3

相关内容

即时定位与地图构建(SLAM或Simultaneouslocalizationandmapping)是这样一种技术:使得机器人和自动驾驶汽车等设备能在未知环境(没有先验知识的前提下)建立地图,或者在已知环境(已给出该地图的先验知识)中能更新地图,并保证这些设备能在同时追踪它们的当前位置。
基于视觉的三维重建关键技术研究综述
专知会员服务
160+阅读 · 2020年5月1日
专知会员服务
86+阅读 · 2019年12月13日
【泡泡图灵智库】协同视觉-惯性SLAM
泡泡机器人SLAM
29+阅读 · 2019年9月6日
综述 | SLAM回环检测方法
计算机视觉life
15+阅读 · 2019年8月19日
【泡泡图灵智库】实时单目物体-模型感知稀疏SLAM(ICRA)
泡泡机器人SLAM
10+阅读 · 2019年7月12日
计算机视觉方向简介 | 视觉惯性里程计(VIO)
计算机视觉life
64+阅读 · 2019年6月16日
【泡泡图灵智库】面向无人机的高效双目SLAM
泡泡机器人SLAM
6+阅读 · 2019年5月31日
Arxiv
0+阅读 · 2020年12月3日
Arxiv
0+阅读 · 2020年11月28日
Arxiv
0+阅读 · 2020年11月27日
Real-time Scalable Dense Surfel Mapping
Arxiv
5+阅读 · 2019年9月10日
Viewpoint Estimation-Insights & Model
Arxiv
3+阅读 · 2018年7月3日
VIP会员
相关资讯
【泡泡图灵智库】协同视觉-惯性SLAM
泡泡机器人SLAM
29+阅读 · 2019年9月6日
综述 | SLAM回环检测方法
计算机视觉life
15+阅读 · 2019年8月19日
【泡泡图灵智库】实时单目物体-模型感知稀疏SLAM(ICRA)
泡泡机器人SLAM
10+阅读 · 2019年7月12日
计算机视觉方向简介 | 视觉惯性里程计(VIO)
计算机视觉life
64+阅读 · 2019年6月16日
【泡泡图灵智库】面向无人机的高效双目SLAM
泡泡机器人SLAM
6+阅读 · 2019年5月31日
Top
微信扫码咨询专知VIP会员