基于单目视觉SLAM的AR展示系统的设计与研究

2021-02-14 08:23
信息记录材料 2021年12期
关键词:单目里程计回环

江 荔

(福州职业技术学院 福建 福州 350108)

1 引言

随着新一代信息技术(特别是5G、人工智能、大数据、虚拟现实技术)的发展,以及智能手机和可穿戴设备的普及,增强现实(Augmented Reality,AR)技术也逐渐进入大众的视野。如今,AR技术已被广泛应用到医疗、教育、影视、娱乐等领域中,趣味性非常丰富,广受欢迎,各种各样的移动AR应用程序也带给人们超乎想象的应用体验。基于AR的理论和技术研究也越来越多,即时定位与地图构建技术(Simultaneous Localization and Mapping,SLAM),是其中应用最多的技术之一,SLAM为AR的场景提供准确丰富的三维信息的同时,能重新快速定位相机的实时位置,从而实现3D场景的实时重建,这对构建一个稳定的AR展示系统具有非常重要的研究意义。

2 AR研究现状

最早出现增强现实AR这个词是在1992年,文献中定义AR技术是将计算机生成的虚拟信息融合至真实环境世界的一种科学技术,是一种实时地计算摄影机影像的位置及角度并加上相应图像的技术,是一种全新的人机交互技术[1]。进入2021年,AR技术在城市规划、医学教育、教育培训、房地产宣传、娱乐游戏、工业设计、工程训练、虚拟培训、军事航天等领域都得到了广泛的应用,因此被认为是未来能影响人们生活的重要新兴技术之一。近年来,苹果、谷歌、阿里巴巴、腾讯等多家互联网巨头都相继推出了增强现实开放平台,并投入了大量的资金进行AR理论和应用研究。特别是2020年新冠状肺炎爆发以来,虚拟现实、增强现实以及混合现实这些新兴技术带给人们不一样的展示体验,AR技术的商业前景也越来越广阔,AR展示系统的研究和实现也进入一个全新的阶段。

AR增强现实的三大技术包括标定技术、跟踪技术以及交互技术。其中SLAM主要解决跟踪技术,是AR系统中最关键的技术,也是本文研究的重要内容之一。

3 SLAM研究现状

SLAM是近年新兴的即时定位追踪技术,它是指运动物体根据传感器的信息,在计算自身位置的同时构建地图的过程,是移动物体在解决未知环境中的探索、侦查、导航等问题的基础和关键[1]。

这里所说的SLAM,可以分为激光SLAM与视觉SLAM两大类,这是根据传感器种类不同来划分的。激光SLAM主要用于室内机器人和无人驾驶领域,生活中常见的家庭扫地机器人及商用场景中的服务型机器人大多采用激光SLAM,激光SLAM主要被应用在室内,摆脱了对环境光照的限制,避免了对光的依赖,可以在昏暗环境工作。视觉SLAM主要应用于增强现实(AR)、虚拟现实(VR)、机器人、自动驾驶等领域,视觉SLAM的在应用场景上范围更广,虽然室内室外均可部署,但是如果室内光照比较暗的情况下,视觉SLAM则工作效率较低,出错率高,对光的依赖度较高。

一般来说视觉SLAM的传感器主要是摄像机或者智能手机,现行研究的视觉SLAM可以分为基于单个摄像头、两个或多个摄像头、RGB-D摄像头以及它们的组合方案[2]。近年来,由于5G智能手机的普及以及计算能力的提升,单目SLAM应用越来越广泛,且成本比较低廉,可以在小范围内实现较高的定位精度,基本满足AR的应用要求。但是因为环境往往是动态变化的,容易造成视觉特征匹配困难,优化计算也不稳定,这样视觉SLAM的精度和稳定性难以保障。另外,在大规模场景下,SLAM计算复杂度高,实时计算量大,一般的计算机计算能力有限,视觉SLAM在实时性方面也面临一定的挑战。SLAM的研究就是针对这些问题进行优化,算法也在不断改进。

4 传统SLAM算法的研究与分析

传统的SLAM系统主要包括传感器数据、前端视觉里程计、后端非线性优化、建图以及回环检测5个模块[3],如图1所示。其中最重要的是前端视觉里程计、后端非线性优化、回环检测3个模块,本文也主要介绍这3个模块。传感器数据模块通常采用惯性测量单元(Inertial Measurement Unit,IMU)传感器,主要用来检测和测量加速度与旋转运动的传感器,这也是目前常用的传感器模块。

图1 传统SLAM系统流程

4.1 视觉里程计

前端视觉里程计通过处理图像序列并进行一定的运算得到视觉传感器的位置[4],是视觉SLAM系统中最重要的模块。解决前端视觉里程计最常用的方法是特征点提取。相机在运动过程中图像信息变化很快,这就需要提取少量特征点来计算图像位置,这样可以忽略除特征点外的其他大量像素信息,从而减少图像匹配运算过程的时间消耗,也减少CPU占用率。2011年,由Rublee提出一种高效并且鲁棒的算法——ORB算法,研究表明,ORB算法的提取速度远比SIFT算法和SURF算法快,且ORB算法的稳健性也足够强[3]。特征点是计算机中图像信息的重要表达方式,是SLAM系统的输入信息,特征点获取的速度对SLAM整体性能影响巨大,图像信息表达不清晰会使SLAM系统产生很大的误差,基于以上考虑,本文选择ORB算法作为SLAM算法中的特征提取和匹配,这是一种单目视觉里程计算法,算法的优点是传感器的硬件结构简单,也比较容易标定单目相机的过程,但缺点在于初始化较为困难[5]。

4.2 非线性优化

前端视觉里程计模块在获取图像的过程中,位置的计算和图像的累计,会产生位置漂移的累积误差,同时相机的非匀速运动和环境特征噪声的影响也会带来测量误差。为了提高SLAM系统建立的三维地图的质量,减小各种测量误差导致的位置估计误差或三维点的坐标计算误差,消除视觉里程计模块产生的漂移累积误差,后端主要采用的算法是滤波法与非线性优化[3]。研究表明,滤波法的速度快且占用内存很小,但是随着摄像时间的增加,缓冲队列也会有很大负担,系统累计的误差也会越来越大,偏离值越来越高。非线性优化算法能最大可能地减少重投影误差,最大限度地降低系统偏离值,鉴于此,本系统采用的是非线性优化算法,分析表明此算法误差值相对较小。

4.3 回环检测

系统在拍摄过程中不可避免会出现重复场景,回环检测的目的就是检验出现的重复场景,减小运动轨迹漂移累积误差,当前端视觉里程计位置跟踪失败时,回环检测则使用重定位识别重复场景。目前回环检测主要的方法有3种:通过对任意两个关键帧进行特征匹配进行回环检测的方法、基于前端视觉里程计进行回环检测的方法以及基于图像外观特征进行回环检测的方法[3]。本系统使采用第3种方法消除产生的漂移累积误差,分析表明误差相对较小。

5 基于SLAM的AR展示系统框架搭建

5.1 AR系统的组成框架

本文设计了基于视觉SLAM算法的AR展示系统框架,首先将从前端模块获取的视频流图像帧通过传感器输入SLAM系统,使用ORB-SLAM算法在SLAM系统中将得到图像帧以及当前图像帧的位置信息进行打包,打包后的数据会存入指定的结构体,结构体数据根据时间序列进入缓冲队列,最后AR模块从中取用数据。以上就是AR展示系统框架的工作流程,如下图2所示。

图2 基于单目视觉SLAM算法的AR系统框架

5.2 AR展示系统实用性分析

本文以高清摄像头采集实时图像为测试,PC采用主流的VR开发工作站,CPUi7-10700,显卡RTX3070,内存16G RECC,操作系统使用Windows10,建模软件使用3DMAX,软件对虚拟场景建模并导入三维引擎,在Unity2018三维引擎设计与实现了AR模块。正常情况下,此SLAM系统很大程度上提升了处理一张图像帧和获取该图形帧位置信息的平均时间。由于在室内测试,需要对室内光照非常充足,系统稳定性稍显不足。本文构建了一个基于单目视觉SLAM的AR展示系统框架,前端视觉里程计采用ORB算法采集图像,后端采用非线性优化算法消除误差,回环检测方法采用基于外观的检测方法,对SLAM系统的显示效果进行提升,可以达到实时处理高清图像的效果,使SLAM系统在一般情况下都可以对高清图像达到实时处理,研究分析了此系统可行性。

6 总结

SLAM技术的应用不仅只局限于增强现实,同时也为计算机提供“眼睛”,使得AR能够通过视觉输入来展示周围的一切。SLAM技术是AR展示系统领域最核心的技术之一,本文在比较分析了不同模块的SLAM算法,选取了单目视觉SLAM系统中最优算法,设计了一个AR框架系统,同时由于SLAM可移植性强,场景适应性强,可达到实时处理高清图像的效果,提高AR整体跟踪效果的同时,也使得容错率等大大降低。随着5G+AR技术的发展,未来突破VR、AR、MR技术的瓶颈除了SLAM算法的不断改进,设计框架也需要重构,在突破技术的同时,不断开发新的创意,带给用户不同的体验感受,AR展示系统的研究具有重要意义。

猜你喜欢
单目里程计回环
室内退化场景下UWB双基站辅助LiDAR里程计的定位方法
嘟嘟闯关记
一种单目相机/三轴陀螺仪/里程计紧组合导航算法
基于模板特征点提取的立体视觉里程计实现方法
基于单目视觉的仓储物流机器人定位方法探讨
透 月
单目SLAM直线匹配增强平面发现方法
基于CAD模型的单目六自由度位姿测量
大角度斜置激光惯组与里程计组合导航方法
学习“骑撑前回环”动作的常见心理问题分析及对策