前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >原创轻量VIO算法、简单易上手:XRSLAM帮你快速搭建移动平台AR应用

原创轻量VIO算法、简单易上手:XRSLAM帮你快速搭建移动平台AR应用

作者头像
3D视觉工坊
发布2023-04-30 09:43:45
4020
发布2023-04-30 09:43:45
举报
文章被收录于专栏:3D视觉从入门到精通

前沿

SLAM(Simultaneous Localization and Mapping),其中文翻译为同步定位与地图构建,即可以在未知环境中通过传感器的信息来定位自身的位姿,并同时构建环境的三维地图,因其在AR/VR、自动驾驶、机器人领域的巨大应用价值,得到了学术界和工业界的广泛关注。

SLAM示意图

SLAM技术主要提供两方面的能力:即空间定位(Localization)和环境重建(Mapping)。而这两方面的能力也是AR/VR的关键基础技术。环境重建(Mapping)能力可以识别真实物理世界的几何结构,提供了AR/VR虚拟场景与真实物理世界叠加的载体。而空间定位(Localization)能力,或者我们称之为6DoF运动跟踪,则能够保证虚拟场景与真实世界的融合能够在不同视角下的一致性。

No.2

XRSLAM特性介绍

XRSLAM[4]是OpenXRLab空间计算平台中基于C++语言实现的SLAM算法库,算法基于单目视觉和IMU实现了轻量级的VIO,同时支持桌面平台和移动平台,算法在EuRoC[3]等公开数据集上达到SOTA级别的精度,支持普通手机终端30fps的实时处理帧率。

1

模块化的设计

XRSLAM的整个框架如下图所示,算法支持多种不同传感器数据作为输入,经过XRSLAM算法内部的融合优化算法得到实时相机位姿。在当前开源的版本中,XRSLAM的核心是一个轻量级的VIO算法,其中包括对IMU数据的预积分,对图像数据的特征匹配,基于视觉、IMU的线性对齐初始化以及完整的划窗优化等。其中特征匹配采用了OpenCV[5]的光流来实现。

OpenXRLab-XRSLAM框架

算法内部根据核心模块、状态估计、多视图几何、视觉定位、地图结构、AR展示、实用工具等不同类别,模块化了不同的函数和类,方便开发者上手和拓展更多功能。

XRSLAM设计了灵活易拓展的多传感器支持,当前发布的版本以单目相机和IMU作为传感器输入,在此基础上,我们会进一步拓展到多目相机、深度相机以及广角相机等更多配置。

2

跨平台的开发

算法库核心部分只依赖Eigen[6]、OpenCV[5]、Ceres Solver[7]等常用基础库,而且这些基础库都已经包含在我们的XRPrimer基础库中。XRSLAM支持Linux、Mac、Android、iOS等多个平台的编译运行,当前发布的版本中,我们也提供了Linux/Mac和iOS的完整的编译流程和可以方便运行的demo。

3

完善的文档说明

为了让用户能快速上手XRSLAM,我们提供了详尽的文档和教程供使用者参考,其中包含了:

  • 如何在PC平台编译和运行
  • 如何在移动平台开发AR demo

VIO能够正常稳定的运行,依赖对多传感器参数进行提前标定,我们提前对近几年的iOS设备进行了参数标定,使得开发者随手可以快速运行起来我们的AR demo。

最后,考虑到配置系统环境容易出现各种问题,XRSLAM还提供了完整的docker镜像,帮助开发者快速地基于统一的系统环境上手开发SLAM。

在我们的XRSLAM的官方github页面,我们将及时回答大家在使用XRSLAM的问题并尽力处理各类issue,欢迎大家踊跃参与讨论!

No.3

XRSLAM性能指标

XRSLAM在EuRoC上进行了精度评测,并与目前SOTA算法VINS-Mono进行了对比(其中VINS-Mono的结果是基于开源代码本地复现的结果)。从结果看,XRSLAM的精度具备显著的领先性。另外,XRSLAM也可以在移动端实时运行,算法处理效率可以支持30Fps以上的数据处理帧率。

效果指标对比结果(注意这里的精度指标都不包含回路闭合的功能)

EuRoC V101算法运行可视化效果

移动端AR效果(视频2倍速播放)

No.4

总结

SLAM是一个既古老又充满活力的研究领域,在这个方向仍有很多值得研究的热点问题。XRSLAM提供一个开放的平台,以简洁高效、跨平台、易拓展的形式,欢迎大家在此平台上进行二次开发,共同探索SLAM方向的新的研究课题和技术突破。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-02-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 3D视觉工坊 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档