张 瑶,黄鹏嘉,朱长富
(1.中水珠江规划勘测设计有限公司,广东 广州 510610;2.广西大藤峡水利枢纽开发有限责任公司,广西 南宁 530029)
随着信息技术的快速发展,虚拟现实技术日渐成熟,且被广泛应用于城市规划[1]、生态旅游[2]、建筑设计[3]、教育[4]、工程设计[5]等诸多领域,其中全景[6]的应用已较为成熟。各行各业企图使用全景技术实现项目的可视化监督管理,为此大量的全景数据产生,高效管理工作中生产的全景数据成为一个迫在眉睫的问题。全景是通过对相机捕捉整个场景的图像信息进行图片拼接所获得的全景图像或全景视频[7],基于该全景图像和计算机技术实现全方位互动式的真实场景还原,称之为全景虚拟现实技术[8-9]。该技术的实现是如今虚拟现实技术快速发展所带来的智慧产品,它改变了传统网络中图像浏览的平面化、静态化的特点,使用户在浏览器上能实现区域图像的360度观察,且通过交互操作体验三维的VR视觉世界[6,10]。
与传统3D建模相比,全景虚拟现实技术制作简单,数据量小,系统消耗低,且真实感更强[11],因此本次研究采用了全景技术来实现大藤峡水利枢纽的虚拟展示。目前全景图像的获取方式有2种,其一直接通过全景拍摄器材获得全景图,该方法耗费较多不适合一般工程项目,其二采用图像拼接软件将普通相机拍摄的局部图合成全景图[12-13]。在众多图像拍摄工具中,无人机航拍的灵活性与大区域性[14],成为本次全景展示系统全景图片素材的重要获取手段,然后通过全景照片合成器制作最终的全景图片,即全景系统所需要的源数据。
本研究以大藤峡水利枢纽工程建设项目为例,基于Krpano引擎和GIS地图服务技术,采用PHP语言和MySQL数据库,开发了一套完整的全景管理系统,实现了大藤峡水利枢纽工程全景数据的制作、管理和入库等功能,方便用户生产全景产品的同时,对该区域工程建设的监督任务提供数据和技术支撑,并对外形成良好的宣传作用。
本全景展示系统采用浏览器/服务器模式进行系统架构设计,该架构开放式的特点可以支持系统在多种设备上运行,有利于满足本系统对多客户端的需求。系统开发采用的后端支持语言为PHP,其在开源性、跨平台性、运行效率、数据库连接、安全性等方面的优势[15-16]成为本次系统建设语言选择的考虑因素,与此对应的MySQL数据库[17]成为本系统数据库管理工具。
该系统主要包含4个功能模块(图1):①全景管理,将用户发布的全景作品进行统一管理,便于后期全景资料的管理和查阅,并能根据需求创建自己的管理图册;②全景编辑,对生成的全景作品进行基础信息、子全景、场景热点、辅助功能等相关信息的修改,并生成访问地址和二维码以供用户使用和分享;③素材管理,对上传到服务器的数据,如全景图、普通图片、音频、视频等基础数据的管理;④全景发布,通过本地上传的数据或素材库里的数据,发布生成全景作品。
大藤峡水利枢纽无人机VR全景展示系统是基于Krpano引擎技术[18]的二次开发产品,在基础全景制图上实现了全景数据管理、全景发布以及全景分布的功能,有助于全景项目高效管理,提升了用户体验。之所以选择Krpano引擎来开发全景系统,不仅在于其可拓展性,还在于它能支持最常见的浏览器和设备,且能很好兼容多种系统和浏览器版本。Krpano内置的图像生成算法以及视图渲染算法,能够较好地提高切片后的相片质量,以高细节和清晰度呈现图像。除此外,该工具支持无缝的VR切换功能,不需要额外的插件或软件支持。
Krpano引擎在该系统中主要作用是实现图像的切片(图2),生成不同尺度不同角度的全景切片数据,然后依托web前端技术,实现全景数据的360度浏览。虽然目前已出现了较多基于Krpano的全景系统[19-20],但是本系统的构建思路和方法仍然存在差异之处,例如采用无人机获取全景数据、采用fileinput插件上传文件、不同的图像切片和入库标准等。
图1 系统功能设计
图2 Krpano引擎技术在系统中工作示意
1.3.1全景管理
项目中数据获取有了无人机的支持必然简单快速,但是对创建的大量全景数据进行管理是本系统必须要解决的问题。系统中设计的全景管理模块就是让用户能根据需求创建自己的存储模式,从而达到全景数据的管理目的。
本系统的全景管理模块包含全景图和全景视频2种全景作品的管理(图3),其中以全景图的管理为首要。该模块建设的重点在于对数据库的管理,创建合适的全景管理数据表,合理设置各表属性以及相关表格之间的关系。系统基于MySQL数据库,创建了全景图的分类表,用户可以根据自己的需求自定义图册,将相关全景作品分类存储,方便查询管理。除此之外,用户还可以根据作品创建时间或作品名来检索目标全景。
1.3.2全景编辑
系统提供全景作品编辑的功能,允许用户编制具有独特风格的全景浏览作品。该模块设计了5个功能区:基本信息编辑、子全景编辑、场景热点编辑、辅助功能编辑、使用与分享,每个功能区实现不同的编辑作用,以完成全景作品中每个场景的定制效果。
a)基础信息编辑。作品基础信息包括作品的标题、封面、文字介绍、拍摄时间地点等,用户可以随时修改全景作品的基础信息内容,给全景作品添加文字修饰,让浏览观众有渠道可以了解该作品的相关信息。
b)子全景编辑。子全景编辑指的是对已发布的全景作品中各个全景图片的添加和移除,该功能实现方式类似全景发布模块的选择素材数据进行全景作品创建的功能。设计该功能的目的是,用户发布完某个全景作品后,能够通过添加素材库里的全景图片来补充遗漏的全景图,亦或通过删除功能移除不适合该作品的全景图片,从而达到全景作品随意增添场景的能力。
这段话中,作者借助律师之口有意突出了男孩的个人历险与古老的史诗之间的联系;并且强调这部个人史诗应该用一种“更有力度的语言”,事实上是帝国的语言——拉丁语——讲出来,明显表现了一种帝国的怀旧情结和强烈的叙事冲动。
图3 全景管理数据表E-R图
c)场景热点编辑。系统热点编辑部分包含场景分组、视角、热点等功能模块(图4),其中场景视角提供初始视角、视域范围和垂直视角3个场景视角的设置;场景热点分别为全景切换、超级链接、图片、文字、语音、图文、视频热点,该功能可以实现场景中各热点的添加和删除、内容编辑。这些功能都是通过调用预先配置好的全景XML文件中相应功能函数,再根据前端输入内容同步修改全景查看器中的配置信息,以实现各个场景效果的修改。场景分组是指将同一全景作品中的不同场景分组归类,便于直观展示各个场景之间的从属关系。而在场景沙盘功能中,用户根据各场景的位置在区域平面图上添加对应点位,使得全景作品全局效果一目了然。场景特效,顾名思义可以帮助用户给全景添加天气效果,如雨雪阳光等。视频贴片则是将具有辅助效果的视频放置到对应场景的某个位置,给该位置点增加视频介绍,该视频会随着场景的变动而移动。除此之外,场景导览功能可以为相关工程项目的宣传提供辅助作用,用户设置好预定义的全景观赏路线后,搭配上VR眼镜,观众就可以通过一键导览实现全景自动浏览,体验虚拟现实身临其境的效果。
d)辅助功能编辑。为了更好地设计和管理全景作品,系统添加了一些小型辅助工具,如添加背景音乐或语音解说、添加项目足迹、增加底部菜单栏等。下面以添加足迹为例,简单介绍该功能的实现流程(图5)。足迹功能采用的地理信息技术是腾讯地图。基于腾讯地图qq.maps接口,创建了Locator对象,该对象包含切换地图、添加标记点、地理位置搜索定位、点击获取鼠标位置点信息等功能。系统前端通过调用该对象可以实现全景作品的地理位置添加。与此同时,全景分布模块根据各个全景作品的位置信息,将其标注在地图上,于是用户可以直观地看到所有项目的全景产品地理位置分布状况,利于对各个全景项目有一个清醒的地理认知。
图4 全景热点编辑模块功能设计
图5 添加足迹功能界面
e)使用与分享。该部分使用的关键技术是二维码创建功能,系统采用PHP类库中的PHPqrcode接口生成可供微信识别的二维码,便于用户快速分享创建的全景作品,利于项目宣传。PHPqrcode是一个开源的PHP二维码生成类库,其基于libqrencode C库,提供用于创建二维码条形码图像的API,从而可以轻松生成包含相应内容的二维码。
1.3.3素材管理
素材管理中包含对全景素材、普通图片、音频和视频的管理,其管理方式类似于全景管理模块对全景作品的管理,用户可以根据需要将素材分层管理,且能依据作品名快速查找相应素材。
1.3.4全景发布
全景发布模块是整个系统的关键部分,是全景作品的生产工厂。该模块的实现离不开Krpano引擎的支撑,它能帮助系统实现全景图片的切片。本系统的全景发布流程简述如下。用户上传全景图片到服务器后,系统通过PHP后台程序调用Krpano引擎将图片进行切片处理,从而生成全景作品所需的多视角多尺度的工程切片数据,并且存储到对应项目的数据库表中,这一流程实现了全景作品基础数据的获取;接着,基于预设的全景配置信息生成初始化的全景作品,并创建作品的唯一URL和开放该地址的任意用户访问权限,至此一个完整的全景作品生产成功;最后,前端通过Krpano查看器让用户能在浏览器上自由观赏该作品。全景视频的发布过程基本同于全景图,差异之处在于全景视频不需要通过Krpano进行切片处理,系统直接将视频嵌入到Krpano查看器中,就可以通过前端实现视频的360度浏览效果。图6采用UML图简单展示了发布模块中各功能角色之间的关系。
图6 全景作品发布示意
研究开发的大藤峡水利枢纽无人机VR全景展示系统已成功投入使用,成功解决了以上提到的问题。该系统已经上传了2019年至今拍摄的上千幅大藤峡全景图,且制作了几十个全景作品(图7以2020年12月的全景作品为例展示了经过该系统制作的全景结果),运行良好,大大提升了公司在全景数据管理的工作效率,并且给大藤峡水利枢纽的宣传工作起到良好作用,后期在制作大藤峡工程展览场所和大藤峡博物馆的VR展示继续发挥作用。当然该系统也存在不完善的地方,由于该项目重点在全景图的采集管理上,系统中全景视频模块的功能相对较少,后期有望继续深入研究。
图7 大藤峡水利枢纽2020年12月VR全景项目展示
无人机VR全景展示系统是基于Krpano和地理信息技术的全景管理和展示平台,已成功应用于水利工程建设中,后期有望在水利水电工程建设监督、房屋设计展示、虚拟展览馆等项目进行推广。该系统的应用不仅有助于工程进度控制,为项目实时监控提供技术支持,也能在一定程度上节省工程监测成本。该系统主要的特点和创新点如下。
a)首次采用无人机和全景虚拟现实技术对大藤峡全景数据进行集中管理和控制,为大藤峡工程建设的远程监督提供服务平台,为其他项目系统开发工作提供数据和技术支撑。
b)该系统不仅能应用于大藤峡的全景数据管理和制作,也可以在其他地区和不同行业的全景项目中使用。
c)研发了具有自主知识产权的无人机VR全景展示系统,为大藤峡水利枢纽工程建设管理提供了智慧监控平台和辅助决策的科学依据。