点云PCL免费知识星球,点云论文速读。

标题:Survey and evaluation of monocular visual-inertial SLAM algorithms for augmented reality

作者:Jinyu LI, Bangbang YANG, Danpeng CHEN, Nan WANG, Guofeng ZHANG1

编译:particle

欢迎各位加入免费知识星球,获取PDF论文,欢迎转发朋友圈分享快乐。

摘要

尽管VSLAM/VI-SLAM已经取得了巨大的成功,但是由于缺乏合适的标准的基准,从增强现实的角度定量评估各种SLAM系统的定位结果仍然困难。实际中的AR应用,由于用户可能不小心移动了AR设备,并且实际环境可能相当复杂,因此很容易遇到各种具有挑战性的场景(例如快速运动、强旋转、严重的运动模糊、动态干扰等)。此外,AR应用应尽量减少图像跟踪丢失的频率,并能够从故障的丢失状态中快速准确地恢复,以获得良好的AR体验。现有的SLAM数据集通常只提供姿态精度的评估,而且它们的相机运动很简单,不适合常见的移动AR应用场景。基于上述情况,我们建立了一个新的视觉惯性数据集和一系列AR的评价标准,并对现有的单目VSLAM/VI-SLAM方法进行了详细的分析和比较。特别是选择了8种具有代表性的单目VSLAM/VI-SLAM方法/系统,并在我们的基准上对它们进行了定量评价。我们的数据集、样本代码和相应的评估工具可以在网站找到: http://www.zjucvg.net/eval-vislam/.

主要内容

文章开始介绍了视觉SLAM以及VI-SLAM的基本理论,并且最终将两种的SLAM都归结为优化方程,比如视觉SLAM总结为优化相机位姿以及三维特征点的函数


这种优化称为捆集调整(BA)[1],即SfM和VSLAM的核心模块。

对于单目惯性SLAM,通过IMU的数据来恢复和优化单目SLAM中的绝对尺度问题,所以VI-SLAM结合了视觉测量和惯性测量的方式,可视为是VSLAM的扩展方法。所以VISLAM中的BA函数定义为:


接下来文章将着重介绍AR应用中的各种SLAM方案,并进行对比与评价。众所周知,SLAM系统可以通过滤波或优化来求解状态。基于此的SLAM方法可以分为基于滤波的方法和基于优化的方法。并且用于图像跟踪的前端部分也不尽相同。一些方法利用关键点匹配来优化重投影误差。也有一些方法直接使用图像像素最小化光度误差。这里将介绍一些有代表性的单目VSLAM/VI-SLAM方法。

基于滤波的SLAM

MonoSLAM是最早的单目VSLAM系统之一。由于它使用扩展卡尔曼滤波器来解决相机姿态问题,所以它是一个基于滤波的SLAM系统。对于Kalman更新步骤,所使用的观测值是标准针孔模型的重投影

基于优化的SLAM

基于滤波的SLAM系统不可避免地存在累积误差。据调查,基于优化的SLAM方法比基于滤波的方法具有更高的精度[2],首先介绍基于关键帧优化方法的PTAM,然后介绍了在PTAM之后的ORB-SLAM,它将图像跟踪、局部地图维护和回环检测放在三个线程中,在整个系统中使用ORB特征来提高系统的健壮性。ORB-SLAM使用了两种初始化的方式:单应矩阵模型和极线约束模型,并选择最佳模型初始化前两个关键帧。所以当有足够的运动时,系统会自动初始化。ORB-SLAM的开源激发了许多新的作品,包括基于惯性的ORB-SLAM.

OKVIS是设计用于融合惯性测量VI-SLAM系统,OKVIS的核心优化问题是一个既有重投影误差又有IMU运动误差的滑动窗口优化问题。而VINS Mono是一个强大的视觉惯性SLAM系统。与ORB-SLAM相比,它有许多新的亮点,拥有稳健的初始化与尺度估计。

基于直接法的SLAM

以上介绍的SLAM前端需要提取特征点,可以概括为特征点法的SLAM,直接法一般是求解最小化图像的光度误差作为SLAM的前端。直接法和间接法各有利弊。在大多数情况下,特征点法对几何噪声(如镜头畸变或卷帘效应)更为稳健,而直接法对几何噪声可能敏感。另一方面,直接方法对光度噪声更为鲁棒,因为使用了具有强度梯度的所有图像区域(边缘、无特征的墙等)。具有代表性的是DSO(Direct Sparse Odometry)

接下来主要就是介绍基于视觉与惯导的数据的采集以及对采集硬件的介绍,并且与常见的开源数据及进行了对比,同时也介绍了一些相机与IMU对齐和标定的工作。


并且文章介绍到使用了安卓和IOS设备采集各种场景的数据。并将数据集应用到以上的8中SLAM方案中,从跟踪精度,包括绝对误差、相对误差等进行比对,初始化的质量与快慢,以及跟踪的鲁棒性,重定位的耗时等方面进行评价和对比

实验结果


采集场景的介绍


VI-SLAM的跟踪精度的对比


初始化的时间对比


重定位的耗时对比

总结

现有的单目VSLAM和VI-SLAM方法,选择了8个有代表性的系统对我们的基准进行定量评估。虽然我们的视觉惯性数据是由手机采集的,但是评估仍然是在PC机上进行的,由于PC机的计算能力远远大于手机,所以SLAM结果不能真实反映手机上的实际SLAM效果。实际上,许多SLAM系统不能在手机上实时运行。PTAM和VINS Mono的移动版本已经上市。SenseSLAM是专门为移动AR开发的,能够在移动手机上实时跟踪。

由于文章的篇幅限制,有兴趣可以查看文章主页http://www.zjucvg.net/eval-vislam/,查看论文《Survey and evaluation of monocular visual-inertial SLAM algorithms for augmented reality》

参考文献

【1】Triggs B, McLauchlan P F, Hartley R I, Fitzgibbon A W. Bundle Adjustment—A Modern Synthesis. Vision Algorithms: Theory and Practice. Berlin, Heidelberg: Springer Berlin Heidelberg, 2000: 298-372

【2】Strasdat H, Montiel J M M, Davison A J. Visual SLAM: why filter? Image and Vision Computing, 2012, 30(2): 65–77

如果你对本文感兴趣,请点击“原文阅读”获取知识星球二维码,务必按照“姓名+学校/公司+研究方向”备注加入免费知识星球,免费下载pdf文档,和更多热爱分享的小伙伴一起交流吧!

AR设备单目视觉惯导SLAM算法综述与评价相关推荐

  1. 重用地图的单目视觉惯导SLAM系统

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 Visual-Inertial Monocular SLAM with Map Reuse 重用地图的 ...

  2. 视觉惯导slam研究综述

    文章目录 1.引言 2.MSCKF 3. OKVIS 4. VINS-Mono 5. ROVIO&Maplab 5.1 ROVIO 5.2Maplab 1.引言 作为vins(视觉惯性导航系统 ...

  3. LVI-SAM:紧耦合的激光视觉惯导SLAM系统(Tixiao Shan新作,已开源)

    论文地址:在公众号「3D视觉工坊」,后台回复「LVI-SAM」,即可直接下载. 我相信很多人对激光视觉惯导融合的系统都是这样设计的,但是最难的是把自己的想法保质保量的实现出来.我们做不到但是大佬可以! ...

  4. PL-VINS:实时基于点线的单目惯导SLAM系统

    摘要: 利用线特征来提高基于点特征的视觉惯性SLAM(VINS)的定位精度越来越重要,因为它们提供了结构化场景中规则性的额外约束,然而,实时性能一直没有得到关注.本文介绍了PL-VINS,一种基于实时 ...

  5. 028捷联惯导更新算法备忘

    1.姿态更新   对于nnn及bbb系,假定有如下四元数转换关系:   那么: rn(k+1)=Cb(k+1)n(k+1)rb(k+1)=Cn(k)n(k+1)Cn(k)b(k)Cb(k)n(k)Cb ...

  6. inavFilter 惯导融合算法

    typedef struct estimatorStruct{float pos[3];float vel[3];float acc[3];}estimator_s; /*** @brief: 根据位 ...

  7. FAST-LIO2:快速直接的激光雷达与惯导里程计

    点云PCL免费知识星球,点云论文速读. 文章:FAST-LIO2: Fast Direct LiDAR-inertial Odometry 作者: Wei Xu∗1 , Yixi Cai∗1 , Do ...

  8. 面向固态激光雷达和惯导的里程计和建图

    点云PCL免费知识星球,点云论文速读. 文章:Towards High-Performance Solid-State-LiDAR-Inertial Odometry and Mapping 作者:K ...

  9. LIO-SAM: 紧耦合的激光与惯导里程计方案

    点云PCL免费知识星球,点云论文速读. 标题:LIO-SAM: Tightly-coupled Lidar Inertial Odometry via Smoothing and Mapping 作者 ...

最新文章

  1. 用 Flask 来写个轻博客 (12) — M(V)C_编写和继承 Jinja 模板
  2. tomcat7 内存溢出 java.lang.OutOfMemoryError: Java heap space
  3. java字符串反转的方法,Java实现字符串反转的几种方法
  4. Java8的十大新特性
  5. 平板电脑什么牌子好点_什么平板电脑充电柜好?
  6. RHEL7 yum源配置
  7. 培养这10个习惯,你就离UNIX高手更进一步了
  8. ES6规范 ESLint
  9. Okhttp的封装和回调
  10. linux 如何取执行一个脚本5000次,【shell笔记脚本】嵌套、控制循环以及处理循环输出...
  11. python写的小程序怎么封装_微信小程序源码分享之封装request的方法
  12. mysql根据排序取前百分之二十_MySQL 性能优化 MySQL常见SQL错误用法
  13. 控制反转和依赖注入的理解(通俗易懂)_Spring 的本质系列之依赖注入_一点课堂(多岸学院)...
  14. 学生信息管理系统(C++实现)
  15. @Tableau 设计技巧 8.2:tableau官方教程(中文版pdf)
  16. rss阅读器Reeder 5 for Mac
  17. 计算机按键去抖动的方式,按键消抖
  18. b站安卓手机下载视频后使用matlab自动转为mp4文件并归档
  19. 苹果中国官网新增蚂蚁花呗 24 期分期免息服务
  20. Bluetooth HCI介绍

热门文章

  1. 2022-2028年中国车载摄像头行业市场前瞻与投资战略规划分析报告
  2. Numpy 生成 Bool型数组、一维转多维数组reshape、多维转一维数组、替换数组元素、提取数组元素、数组交集、差集、过滤数组元素、二维数组反转行、交换数组维度
  3. 河马搞笑GIF动态图网站(http://gif.hemaj.com)上线,老司机快上车!
  4. php 操作分表代码
  5. 最新手机号段归属地数据库(2017年4月16日版)免费下载
  6. SQL Server Extended Events 进阶 3:使用Extended Events UI
  7. java 读取txt,java读取大文件
  8. 测试与封装5.1.5.2
  9. 关于内网linux系统如果安装nodejs,npm,express,mongodb,forever等
  10. 正试图在 os 加载程序锁内执行托管代码。不要尝试在 DllMain 或映像初始化函数内运行托管代码......