刘清岗
(陕西学前师范学院信息工程学院 陕西省西安市 710100)
目前很多旅游景点、大型商场、地铁站等空间布局复杂,人们对导航寻路使用需求迫切,传统的做法有实物展示、张贴平面路线图等,但当场景发生变化时,需要重新制作导航实物,造成资源浪费、效率低下[1]。另一类方法是使用基于手机GPS、基站定位和语音反馈测距等技术,但这些技术在解决一些手机信号弱、水平垂直空间复杂的区域导航时,精准度不够,无法满足用户导航需求[2]。目前谷歌、苹果、微软公司推出了ARCore、ARKit、MeshAR等AR开发平台,其中的图像识别定位都提供了空间导航的解决办法[3],而国内也出现了优秀的EasyAR、百度AR等开发平台,2019年滴滴平台利用AR技术在深圳机场实现了地图导航与寻路打车功能[4]。
西安钟楼集旅游景点、地铁站、公交枢纽站、大型商场于一体,尤其下沉式盘道无法辨别方位,为解决这种难题,本文提出基于增强现实技术的线上与离线相结合的导航设计研究[5]。宗旨是实现离线与在线混合式AR导航,通过3D场景建模、虚拟场景寻路实现离线状态下的地图寻路,运用云计算、图像及模型的定位识别,采用EasyAR稀疏空间地图技术,实现在线路线规划与指引导航。
软件整体功能如图1所示。
图1:APP整体功能
APP系统架构分为数据服务层、应用支撑层和业务逻辑层,其中场景模型数据采用本地数据持久化,采集图像采用EasyAR云存储,商场及景点推送信息采用远程服务器存储,利用web service进行更新维护;应用支撑层采用Unity3D、EasyAR处理图像模型和路线规划算法实现;业务逻辑层实现目标识别与现实叠加、场景漫游、路线导引等功能[6]。
本APP开发主要步骤包括:创建钟楼盘道模型,模型信息标注与地图烘培,地图漫游,建立云上地图,地图特征点取景,路径规划。
采用3D MAX、Blender等建模工具对钟楼地下盘道及周边进行分体建模,绘制贴图制作材质,然后将模型保存为.FBX文件导入Unity3D AR工程项目中。如图2。
图2:钟楼盘道模型
导入Unity 3D后,对场景模型进行点位标注,包括场景路口的公交线路、地下盘道内地铁站、各大商超景点等信息。生成方位坐标并与场景进行绑定。使用Unity3D地图烘培生成可走路线及区域。如图3。
图3:钟楼盘道模型烘焙
Navgation MeshAgent是3D场景中用于实现动态物体自动寻路的一种技术,它将游戏中复杂的结构组织关系简化为带有一定信息的网格,在这些网格的基础上通过一系列的计算来实现自动寻路[7]。设置离线地图漫游代理Agent,配置Nav Mesh Agent寻路组件,运用BehaviorTree来实现寻路行为,完成离线导航漫游。漫游核心代码如下:
EasyAR 稀疏空间地图(Sparse Spatial Map)通过手机扫描周围环境,生成环境的三维视觉场景地图,并能实时提供视觉定位跟踪功能。在建图过程中,稀疏空间地图利用相机图像和对应位姿构建环境1:1的视觉地图[8]。定位功能将当前相机图像和地图的三维点进行视觉匹配并尝试计算对应位姿来恢复相应的位姿。对环境特征度低的空间采用特征图片辅助的方法提供定位与识别。在特征点之间进行路径的设置标识,并上传到空间地图保存。
运用Unity跨平台部署的优势,将软件发成成Android和IOS两个版本,操作系统版本配置要兼顾低端型号手机,以满足EasyAR稀疏空间地图要求的搭载运动图片捕捉功能的VIO硬件版本为准。在软件测试过程中发现,存在人流量大影响相机收集图片进行特征比对影响定位的问题,解决办法是采用将天花板张贴部分特征图片进行辅助定位,实现即时导航。
本文旨在解决传统地图导航软件难以实现复杂场景中的即时引导导航问题,提出了运用AR增强现实技术与离线场景地图漫游相结合的解决思路和实现方案,基于目前4G、5G网络环境,进行了联网效果测试,最终完成了钟楼盘道导航APP的设计开发,实现了AR在复杂垂直空间进行导航定位的应用。从实践中发现,人们普遍对此类运用新技术辅助导航比较认可和感兴趣。笔者以后会持续聚焦AR技术在室内导航创新中的应用,加强学习交流,不断征求收集改进意见,继续升级拓展该APP导航软件,解决复杂景点、地铁站、飞机场的即时导航定位问题。