深埋复杂车站智能导航系统研究与实现
2022-02-19叶丽思马侃彦洪里平陈维亚
叶丽思,马侃彦,洪里平,陈维亚
(1.华中科技大学 土木与水利工程学院,北京 430074;2.京张城际铁路有限公司,北京 102199)
为提升旅客出行效率,改善出行体验,近年来,以高速铁路车站为代表的大型交通枢纽采用无人售票终端、无人检票快速安检通道、智能服务App 等一系列革新技术,形成了一套智能化的乘客服务体系[1-2]。然而,由于建筑面积大、空间结构复杂、服务设施多,乘客往往难以快速找到目的地,无法实现高效便捷出行。因此,公共交通枢纽中的乘客智能导引服务一直是乘客们迫切的需求,并驱动了相关研究与应用的发展。
针对乘客智能导引这一需求,众多国内外学者结合电子地图、室内定位与导航、自动寻路等相关技术,对车站内的智能导航方案展开了研究。白斐等人[3]在三维建模和电子地图理论基础上,提出了一种建立高速铁路车站三维电子地图的方法及框架,结合人机交互,实现信息检索和智能导航。然而,此类电子地图由于缺乏定位,仅局限在车站的固定终端上使用。随着移动智能手机,以及全球定位技术的普及,车站内的导航向移动化、便捷化方向发展。早在2007 年,Millonig 等人[4]就提出了基于地标的行人导航系统;Arikawa 等人[5]总结了日本移动导航应用Navitime 在城市公共交通中发挥的作用,二者都将电子地图与GPS 等定位手段相结合,并将服务信息在移动终端上汇总,从而提供形象化的导航。虽然这类智能引导系统取得了一定的成功,但受定位精度的影响和建筑物对外部信号的遮蔽,基于GPS 的智能导航难以在车站内等环境下获得较好的导航效果。
因此,越来越多的研究开始聚焦室内定位技术[6],开发了基于Wi-Fi[7]、iBeacon[8]、Zigbee[9]等各类室内环境定位与导航方法。基于室内铺设的信号基站,室内定位在精度上有了较大提升,最佳情况下基本可实现1m 以内的定位精度。由于需要增设额外的硬件,研究人员依然在持续探索精度更高、成本更低的导航方法。随着基于计算机视觉的定位与重建技术逐渐成熟,增强现实(AR,Augmented Reality)等人机交互技术已经从实验阶段发展到应用阶段。基于AR 的导航将路线辅助信息叠加在真实场景画面之上[10-11],相比电子地图,提供了更直观的路线展示方式[12-13],在车站等场景中已有了初步尝试[14-15]。
为实现完整的智能导航,除了精准、快速的定位技术,还需要智能的自动寻路算法。传统算法通常针对平面布局,比如动态空间划分[16]、NavMesh(Navigation Mesh)[17]或典型路标点[18]等。对于平面内的静态场景,已经可以实现较为准确的实时导航,但对于多层建筑内的自动寻路,维度的增加使寻路的复杂度和表示难度进一步提升,相关研究刚刚起步[19]。本文研究并实现应用于深埋复杂车站的智能导航系统。
1 系统架构
应用于深埋复杂车站的智能导航系统架构如图1 所示。其架构由数据层、逻辑层和应用层构成:(1)数据层,包含车站建筑信息模型(BIM,Building Information Modeling)及车站内外实体扫描模型,提供导航所需的室内空间信息及空间所包含的组件信息;(2)逻辑层,用于实现站内空间的实时定位与跨层导航,包括对BIM 及扫描模型进行格式转换和数据处理,构建导航模型,结合Unity 3D中的NavMesh 系统、A*寻路算法、视觉SLAM 算法实现导航地图的快速生成,在移动过程中实时定位,生成导航异常状况下的处理方案,给出导航中断状况下的恢复办法;(3)应用层,是客户端界面,包含进出站、便民服务、自助查询等导航功能模块,满足用户多样化导航需求,服务器对用户的操作做出响应,导航结果在应用层上呈现。
图1 智能导航系统架构
2 关键技术
2.1 导航模型格式转换
车站的BIM 和实景扫描模型为构建导航系统提供了数据基础。基于IFC 格式的BIM 可用于生成导航的拓扑模型,建筑扫描模型为基于视觉的实时定位提供了三维几何数据基础。BIM 中包含的建筑物不同区域的功能属性对导航服务同样十分重要,需要在设计寻路应用时予以考虑。系统基于BIM 提供的三维几何数据和室内构件特征点选取导航路径点,将楼梯口或电梯口等连接上下层的构件特征点抽象为平面路网模型中的终点路径点,从而建立各楼层之间的联系,构建多层路网模型。提取的导航所需信息的IFC 文件可通过xBIM 的相关库函数实现模型格式转换,将转换后的模型导入到Unity3D 中,完成场景灯光、视角及角色碰撞器的设置,实现导航模型的格式转换。
2.2 寻路算法设计
构建导航模型后,需要通过寻路算法规划最短路线。采用改进的导航网格算法可突破平面寻路算法的局限性,实现多层建筑内部的自动寻路。本文采取基于NavMesh 的寻路算法,利用计算机内存保存大量的三角面片信息,生成更为细致的导航地图,更适用于真实场景。对于多层车站,出发点和目的地可能在同层、不同位置,也可能跨越了多个地图层,需考虑不同层之间的可连通性及连接的方向性。NavMesh 将车站模型作为一个整体,在将扶手电梯、楼梯等区域设置在可导航网格以内后,即可实现跨层路径生成。在获取车站设施状态和可用性、人流分布的特点等动态信息后,还可基于实际情况,根据不同的目标(时间最短、路径最短等),动态选取最优路径。
寻路流程主要包含4 个部分,如图2 所示。(1)获得基于NavMesh 寻路算法生成的可导航地图的网格模型;(2)根据网格的邻接信息构造图及起点和终点坐标所在导航多边形,使用A*寻路算法计算出从起点到终点需要走过的三角形集合,得到由多边形网格组成的路径;(3)NavMesh 将三角形作为寻路单元,通常使用漏斗算法对多边形网格组成的路径进行优化,以得到由坐标组成的平滑路径;(4)通过对A*寻路算法的启发式函数f(n)=g(n)+h(n)中的h(n)赋权调节,其中,g(n) 是节点n距离起点的代价,h(n)是节点n距离终点的预计代价,从而提高A*算法的寻路速度,得到在当前加快寻路速度条件下的一条最优路径。
图2 寻路算法设计流程
2.3 基于计算机视觉的实时定位
在导航定位方法上,不同于基于GPS 或其它外部基站的方法,由于建筑对GPS 等定位信号的屏蔽,要实现车站内部,尤其是深埋复杂车站内部的准确、实时定位,可考虑借助三维重建与视觉特征匹配、结合的视觉定位方法,实现在室内大范围空间中具备一定精度、低成本的实时定位。当前计算机视觉领域的研究已取得了一定的突破,其中,三维重建技术为三维空间信息的获取提供了支持,各类局部特征点的提取及其匹配算法保障了多尺度、多场景下的快速视觉定位。智能导航系统通过视觉特征点匹配的方式,完成用户在导航起始地点及中断地点的定位,在移动过程中,则采用基于视觉SLAM 算法的实时定位与追踪,完成用户的移动状态判定。
3 系统实现
3.1 导航地图构建
(1)在Autodesk Revit 2019 中建立北京—张家口高速铁路(简称:京张高铁)某深埋复杂车站的整体数字模型,包含车站三维几何信息及服务功能信息,根据该车站的BIM 导出IFC 文件;(2)确定需提取的三维几何模型数据和不同区域的功能属性导航信息后,通过xBIM 来实现IFC 文件的解析与格式转换,进而导入到Unity3D 中,进行后续导航模型的构建操作;(3)将处理后的IFC 模型导入到Unity3D 中,构建导航模型,以进行后续寻路操作;(4)NavMesh 是Unity3D 引擎中的一个导航路径生成插件,可通过NavMesh 的自动寻路功能在Unity3D 中生成可导航网格模型,从源几何图形创建一个实心高度场,进一步划分其表面后,得到与源几何体高度、轮廓匹配的三角形网格,形成可遍历表面,构建可导航地图及后续寻路导航计算的模型基础。
3.2 导航功能实现
(1)完成导航地图构建后,结合寻路算法与实时定位技术可实现车站室内场景的导航。用户通过手机摄像头扫描起点的视觉特征,基于特征匹配的方式完成定位,获取自己在三维车站模型中的精确位置,并根据输入的终点位置调用寻路算法生成导航路径。(2)完成导航路线起始点定位后,仍需在用户移动过程中对其所持移动设备的位置和姿态进行持续定位,以获得导航状态下用户移动过程中的实时位置。通过采用现有的视觉SLAM 算法,结合预先完成的车站三维空间扫描模型,可在一定的人流密度范围内,实现导航状态下的用户实时定位。虽然可能由于视觉定位的累积误差导致定位信号的漂移,但可结合移动端的惯导传感器进行一定的补偿,实现站内导航定位的米级精度要求。
由多种干扰因素造成的视觉定位失效可导致导航中断。例如,车站现场人流过密,或用户主动终止导航,都可能会导致定位信号丢失,SLAM 过程提前结束。在本文的智能导航系统中,用户可就地或挑选站内视觉特征比较明显的区域,重启定点定位的流程,从当前选定位置发起新的导航。如果用户在行进过程中与既定路线产生了较大的偏差,系统会提示用户尽快回到既定路线,用户偏离导航路线超过一定范围后,系统会基于当前视觉定位的位置,主动重新规划最佳路线。
3.3 导航应用界面
京张高铁深埋复杂车站站内导航模型存放在服务器中,减少客户端所需内存及加载模型所需时间,用户在移动端使用智能导航系统App 时,进入主界面后,可根据自己当前的导航需求点选对应的功能模块,执行各项操作,查询所需信息,实现个性化路径导航。智能导航系统App 功能界面如图3 所示,主要由3 个模块组成。
图3 智能导航系统App 功能界面
(1)进出站服务:用户可根据当前需求选择不同的目的地,如:检票口、候车厅、售票处、站台口等,无需手动输入,避免不准确的情况,以提供更方便、快捷的进出站导航服务。
(2)便民指引服务:考虑到用户在候车或出站期间可能存在的需求,对车站内现有的服务设施进行分类,如:母婴服务、开水间、卫生间、服务台等,用户可以通过下拉菜单点击相关服务设施按钮,即可发起定点导航,避免发生首次到站或对站内情况不熟悉的旅客在寻求相应服务时,不能及时找到对应服务设施的情况。
(3)自助查询导航:考虑到用户对目的地的需求不仅限于上述所提到的进出站及便民服务,在该界面,用户可根据自己的目的地需求输入地点名称,进行自主导航。
4 结束语
为构建适应深埋复杂车站的智能导航系统,本文采用 Unity3D 作为开发工具,基于车站BIM,经过格式转换,实现车站场景三维地图的半自动构建;结合自动寻路算法,实现导航路径的快速、精准生成;基于计算机视觉特征匹配的快速定位方法,解决了GPS 信号缺失场景下,难以实现低成本、大空间、实时定位的问题;通过AR 与三维重建相结合的方式,实现了基于SLAM 的实时定位与路径显示。京张高铁深埋复杂车站引入站内智能导航服务,有助于提升乘客的站内体验;将科技融入出行过程,有助于铁路精品服务口碑的建立。同时,减小了站内服务人员的工作压力,提升了乘客的出行效率。
后期系统更新迭代可考虑通过与交通流预测算法相结合,实现站内的短时人流量信息展示,帮助用户了解当前站内拥堵状态。亦可在数据层接入票务系统数据端口,实现在导航软件中呈现乘车信息的功能。