城市地下管网增强现实系统研究

2020-01-06 02:17玲,陈
计算机工程与应用 2020年1期
关键词:管网摄像头现实

周 玲,陈 强

上海工程技术大学 电子电气工程学院,上海201620

1 引言

城市地下管网主要由8种管道组成,其铺设范围遍及水下和路面下,起到传递信息、输送能源、减灾排涝、排弃废物等作用,城市地下管网管理系统是智慧城市建设的基础。随着城市的高速发展,提高管网建设的信息化和科学化是城市高效运行的必然要求,传统依靠二维“平面图+剖面图”的规划设计,画面空间感不强,不利于准确掌握管网详细信息,可能出现管道铺设冲突,发生施工事故,甚至导致规划失败等问题。

目前,国内有不少学者采用基于计算机的虚拟地理环境(Virtual Geographic Environments,VGE)[1]来解决上述问题并实现管网的可视化,例如,吴学明[2]等基于SuperMap GIS 开发了二维、三维管网智能信息系统和成图系统;陶迎春等[3]设计了基于场景图进行三维场景组织管理系统。但基于计算机的VGE无法为决策提供及时和直观的参考,且需渲染地面建筑的模型数据[4],这些海量数据的存储、细节处理、快速显示等问题,仍然是不可规避的难题,对硬件设备性能也有较高要求。近年来,在地下管网建设方面,国际上的学者对增强现实技术(Augmented Reality,AR)与地理信息系统(Geographic Information System,GIS)相结合的研究较为广泛,例如,Soria[5]利用AR技术在移动端实现地下管网设施生命周期管理过程中的主要功能,该研究利用增强现实的硬件设备Tango 实现对真实世界的三维注册和动态跟踪;Lee[6]开发了检索并可视化钻井日志的AR系统,在铺设地下管线过程中有利于地面打孔的实地工作;Schubert[7]基于地下管网、城市和交通等数据通过定位和AR技术对城市建设进行规划和设计等。在移动设备中将AR 可视化与GIS 相结合,可满足地下管网可视化、实时交互、自由导航等需求,将三维模型显示到现实场景中沉浸感更强,同时为工作者提供了更加直观的理解。根据上述问题和分析,本文设计了一种城市地下管网增强现实系统,实现管网的虚实融合和实时交互等功能,有效解决VGE决策不灵活、海量数据存储和显示的问题。

2 总体设计方案

2.1 硬件平台总体设计

如图1 是移动端的地下管道实时定位增强现实系统的硬件架构和整体逻辑结构,主要由微处理器单元、信号采集单元、传输单元、通信单元和显示单元这5 部分组成。系统硬件设备的微处理单元主要是由ARM(Advanced RISC Machine)微处理器组成,用于整个系统协调和控制各个单元的工作。通信单元通过无线网络和通信协议与远程服务中心通信,用于手机向服务中心发送包传输请求和获取管道属性数据。显示单元主要由手机屏幕组成,用于显示虚拟管道模型叠加在真实场景中的AR效果。传输单元主要由蓝牙模块组成,用于GNSS(Global Navigation Satellite System)接收机在CORS(Continuously Operating Reference Stations)模式下与微处理器单元的连接工作,天线和接收模块构成了GNSS接收机的主要功能,用于接收导航信息并转发处理后的导航信号。

手机的位置信息、移动速度、仰俯旋转等角度信息是管道AR 系统实现实时定位和管道模型跟踪的关键信息,它们由多种传感器进行采集。信号采集单元主要包括手机摄像头、陀螺仪、重力加速度计、GPS(Global Positioning System)等多种传感器,手机摄像头用于获取现实环境的影像并渲染成虚拟摄像头的背景影像,通过视频处理模块,管道模型被叠加到摄像头获取的影像上;陀螺仪、重力加速度计用于采集手机六轴姿态信息,通常在高频率下进行平移和旋转加速;GPS用于获取手机的经纬度信息进行实时定位。

本设计基于上海地区已有的3个参考站,利用多基站网络实时动态差分(Real-Time kinematic,RTK)技术建立的连续运行参考站进行位置测量,根据3个已知参考站的坐标可求得移动设备的精确位置坐标,测量精度可达到厘米级甚至毫米级,通过蓝牙将测地型GNSS接收机与小米8 智能手机连接,导出精确坐标文件。AR系统读取定位信息,并通过手机摄像头识别真实场景的平面和兴趣点[8],确保管道模型叠加到真实世界的确定位置,实现虚实融合效果。

图1 总体设计方案框图

表1 AR SDK比较

2.2 软件平台总体设计

2.2.1 软件环境

针对移动端能根据用户位置实时定位,本设计选择基于移动端设备进行开发。目前AR设备在移动端的应用主要分为两类[9]:头戴式和手持式,实际场景中智能手机要比头戴式设备更适用,主要是智能手机的普及性、便携性、移动网络基础设施方面等优势更为突出。因此,采用Android 系统的智能手机作为地下管道实时定位AR系统的应用平台,采用ARCore SDK(Software Development Kit)进行AR 功能开发,基于Unity3D 和Visual Studio 2017 开发平台运用C#语言进行AR 系统的逻辑和交互功能开发,服务器选用是Apache Tomcat 7.0,使用MySQL关系型数据库。

系统的管道增强现实功能通过增强现实软件开发包进行二次开发,表1比较了市面上应用较广泛的六款增强现实开发包。其中免费的开源SDK主要是ARCore、ARKit 和ARToolKit,但ARKit 不支持Android 系 统、ARToolKit[10]在环境光预估处理没有ARCore真实,总体评估后ARCore更适用本系统。

2.2.2 系统的主要软件设计

系统的功能模块主要体现在三方面:多方位实时查看管道模型,模型与摄像头不存在直接关联,模型可随用户位置的变换而实时更新、动态跟踪;沉浸式体验,在不同光照条件下,管道模型与现实环境中物体的明暗度、阴影方向和角度保持一致;实时交互,点击屏幕中的模型,可实时显示管道存档时的相关属性,再次点击UI界面任意位置则隐藏UI,能为用户决策提供及时、直观的参考。软件设计流程如图2所示。

图2 软件设计流程图

(1)初始化。用户开启地下管道AR系统,系统初始化,主程序自动启动摄像头并调用摄像头接口,将摄像头拍摄的真实世界渲染为附加的Unity摄像头组件的背景,保证了现实场景的实时呈现。

(2)实时定位。GPS 探测到手机目前所在位置,罗盘判断摄像头对准的方向,将两者相结合实现跟踪配准,程序获取相关传感器接口的数据进行处理和转换,读取GNSS接收机导出的手机定位数据文件,通过微处理器的数据计算将两部分数据建立连接,利用七参数坐标变换法得到Unity3D所需数据。

(3)虚实融合。OpenGL实现管道模型绘制,根据读取的定位数据查询MySQL 数据库,检索出经纬度小数点后第5 位数值的变化幅度在3~4 之间的管线测量数据,即检索出用户周围10 m左右的管线数据,将平面坐标和高程转换成Unity3D的数据,进而将管线数据利用Unity3D引擎进行可视化处理,并呈现在手机屏幕上,利用VIO算法来计算位置变化并实现对管线模型的跟踪。

(4)实时交互。为增加沉浸式体验、实时交互等功能,还设计了用户与管线模型的交互方案,通过Unity3D在每个管线模型上都添加了碰撞器组件,在Update方法中每帧监测触发事件是否发生,若检测到屏幕被点击,则从屏幕点击处发出射线并指向管线模型,触发事件并显示UI界面。

3 关键技术

3.1 高精度差分定位

3.1.1 基于RTK的定位设计

本文设计是基于位置的增强现实的[11],利用GPS、加速度计等传感器获取的信息在真实场景显示AR 对象,即管线模型。现有移动端定位方式[12-13]主要有移动基站、A-GPS、Wi-Fi 等定位方式,但移动基站和A-GPS定位精度在百米级和十米级,Wi-Fi 适用于室内定位。由于本系统对定位精度要求较高,故采用北斗卫星导航系统(BeiDou navigation Satellite system,BDS)和网络传输获得手机的精确位置,定位精度可达到厘米级甚至毫米级。图3 简单示意了高精度实时定位[14]的架构,卫星为全球定位导航系统的空间部分,用于发送导航定位的卫星信号;地面增强系统为CORS 系统的地面参考站,负责采集和处理导航卫星观测数据,实时向用户提供载波相位、伪距、改正数等信息;GNSS接收机用于测量所在位置点的高精度位置坐标,可依据精确位置通过服务器在数据库中检索附近管道信息。

图3 高精度实时定位示意图

定位信息的传输流程是首先将接收机的数据输出方式设置为GGA(Global Positioning System Fix Data)数据,然后登录CORS账号,接入CORS网开始测量,通过接收到的卫星星历及CORS 网解算的差分改正信息解算出高精度坐标,最后接收机通过串口将精确坐标传输到蓝牙模块,并导出到已经配对的手机端。通过此方法,提高了手机的定位精度。

3.1.2 基于七参数坐标变换的管道数据设计

通过网络传输从GIS(Geographic Information System)服务器[15]输出到客户端的管道位置的测量数据主要包括空间数据和属性数据。空间数据用于Unity3D 中对象坐标、角度、比例和纹理的转换,属性数据用于数据检索。如表2体现了管道的空间数据结构。

表2 管道的空间数据结构

利用七参数坐标变换方法[16],将管道的经纬度坐标(B,L,H)先转换成空间直角坐标系下的坐标(X,Y,Z),然后将(X,Y,Z)转换成世界坐标(X1,Y1,Z1)。七参数坐标转换方法采用至少3个点来计算7个参数,分别是3个平移参数即世界坐标系和空间直角坐标系的坐标原点(X1,Y1,Z1)和(X,Y,Z)之间差值,3个旋转参数为两个坐标系的XYZ 轴重合在一起的角度,1 个尺度变化参数m 可实现管道尺度的比例转换。通过测试得知,ARCore 初始化时,世界坐标系和摄像机坐标系具有相同的原点和轴,摄像头的当前位置和旋转都为(0,0,0)。添加C#脚本可通过手机的传感器获取位置O1(X0,Y0,Z0)和滚动、仰俯、方位角这3个姿态参数,姿态参数可表示为(rx,ry,rz)。若将世界坐标视为现实世界中的局部坐标,则要求O1是世界坐标的原点并且其坐标轴与空间直角坐标系的坐标轴大致平行,所以在初始化导出的ARCore 项目时,需要保持智能手机屏幕的垂直方向与北方平行,然后根据七参数坐标转换将空间直角坐标系中的管道坐标数据转换为世界坐标。等式(1)~(4)是从空间直角坐标系中的(X,Y,Z)到世界坐标中的(X1,Y1,Z1)的转换。

依据公式(1)~(4)对原始数据进行计算,得到管道起始点(X1b,Y1b,Z1b)和终点(X1e,Y1e,Z1e)的世界坐标,对象渲染由网格的枢轴位置、旋转、尺度变化和材质决定。其中,枢轴点即管道的中点,枢轴点、长度和直径是Unity3D中管道模型的3个组成部分,如等式(5)~(8)所示,Unity3D 中对象的枢轴坐标为(X1p,Y1p,Z1p),由管道世界坐标下的起点和终点计算得到,管道长度为R,管道直径即数据库中Diameter参数,可直接读取。

3.2 基于ARCore的虚实融合

增强现实技术[17]是一种将真实世界信息和虚拟世界信息“无缝”集成的新技术。ARCore SDK 无须任何额外的硬件,就可扩展到Android 生态系统,其中,ARCore 主要通过构建地图实现对模型的动态跟踪。它可将现实世界的环境信息存储在内存中实现地图构建,追踪器根据已存储的部分图中的“关键帧”进行现实世界与图的匹配,利用VIO算法和追踪器完成环境感知。当移动设备位置变化越大,则构建的地图越大,易产生内容丢失等情况,导致追踪效果变差。但利用ARCore 创建锚点可将地图内容进行固定,且可多次设定锚点以扩大地图覆盖的物理面积,保证环境内容不被丢弃,从而提高了系统动态跟踪的鲁棒性。

通过ARCore SDK 进行C#编程开发时,利用不同的API(Application Programming Interface)让手机感知其周围环境、管道模型虚实融合以及交互等功能。例如,通过ARCoreBackgroundRenderer接口将手机摄像头拍摄的现实环境渲染为附加的Unity 摄像头组件的背景,Anchor 接口将管道模型附加到现实环境中,并将该点的环境信息存储到内存中,DetectedPlane接口用来检测和跟踪现实环境中的平面,完成平面识别。ARCore将虚拟管道模型与手机摄像头看到的真实世界融合,通过以下3 个主要功能构建对周围环境的理解:运动跟踪,手机通过摄像头标识兴趣点,将这些点的移动与手机惯性传感器的读数进行组合,让手机可以确定它的位置和姿态,并保持管道模型在确定位置;环境理解,让手机可以检测平坦的表面(例如地面)的大小和位置,放置醒目的标记,作为观察管道模型的参照点;光估测,让手机估测环境当前的光照条件,使得管道模型的明暗程度与真实世界相协调,增强管道模型的沉浸感。

4 实验测试与结果分析

4.1 虚实融合可视化测试

为了测试虚拟管道在现实环境中的可视化效果,做了以下两组对比实验。

(1)评估管道模型漂移情况。在世界坐标系中(1,-1.5,1)处放置一个醒目的标记模型,记录标记模型的平移距离来定量的评估管道模型漂移长度。实验过程是手持移动设备在5 m×5 m的区域中走动,保持移动设备的摄像头高度距离地面1.5 m,实验时长为10分钟,分别在第1分钟、4分钟、7分钟、10分钟记录标记模型的位置。由于手机长时间运行会发热,影响位置数据的精准度,因此将实验时长定为10分钟。以标记模型为中心,从标记模型的前后左右4个角度进行观察,前方和后方两个视角的测试图如图4 所示。由于现实环境光线的存在入射倾角,标记模型在前后视角下呈现明暗程度不同的效果且漂移范围较小。

图4 前方和后方视角的漂移测试图

上述4 组实验,每组实验做了20 次,每组实验结束后,退出AR程序并关闭后台运行程序,等到手机冷却下来再进行下次实验。实验时长越长,X 轴和Y 轴坐标产生的漂移越大,10 分钟内产生的漂移值在0.1 m 左右。实验结果如表3所示,该偏差主要由VIO算法产生的漂移误差造成,统计20次实验的X 轴和Y 轴位置的偏差范围是0.01~0.02 m。

表3 标记模型15 min内的漂移长度

(2)测试对管道模型的跟踪情况。图5展示了每天同一时刻测试的从左前方、右后方、正视、俯视4个不同角度观察的管道模型,管道位置和轴向基本符合实际情况。手持移动设备可在管网中穿行,能够清楚知道管道之间的空间关系。

4.2 交互测试结果

本设计根据城市地下管网的管理需求设计了用户与管道模型之间的交互方式,用户通过移动设备的屏幕可看到虚拟管道叠加在现实环境中,用户需了解附近管道的详细信息时,可点击手机屏幕中的管道模型,在被点击的管道旁边会出现一个虚拟的UI 界面,显示了从服务器获取到的管道属性数据,通过添加C#脚本可控制UI 界面始终正对着用户屏幕,当用户从不同角度观察管道模型时,可清楚看到UI 界面的内容。可点击UI界面的其他按钮来实现更多交互,点击界面的任意位置即可关闭UI界面。交互测试结果如图6所示。

图5 管道模型的空间关系

图6 交互界面

5 结束语

本设计利用AR 技术,提出了新的地下管道可视化管理方式,并且是一种基于智能手机的实时定位系统,通过采用虚实融合的设计,极大提高了沉浸感和交互体验,且提供了管网管理的空间决策支持能力。通过ARCore SDK开发管道虚实融合的功能,提高了管道模型渲染和跟踪的鲁棒性;采用基于BDS 的定位服务和七参数坐标转换法,实时获取用户的高精度位置坐标;采用人机交互设计理念实现管道模型的交互方式,可灵活观察管道的空间和属性信息。本设计有效解决了用户依靠传统管道图纸和VGE进行城市地下管道设计和施工过程中,决策不灵活、管道数据查询不便捷、管道空间感不强等问题,为城市地下管道智慧化管理提供了技术方案探索,可更好地服务于智慧城市建设。

猜你喜欢
管网摄像头现实
浙江首试公路非现场执法新型摄像头
摄像头连接器可提供360°视角图像
我对诗与现实的见解
漫画:现实背后(下)
管网独立是妥协还是改革
从管网独立看国企改革
管网改革虚实
织起一张共管网
一种基于Unity3D+Vuforia的增强现实交互App的开发
奔驰360°摄像头系统介绍