基于虚拟现实技术的博斯腾湖景区全景漫游系统的设计与实现*
2023-12-18张军爱王昭君
张军爱,王昭君
(1.伊犁师范大学“一带一路”发展研究院,新疆 伊宁 835000;2.伊犁师范大学资源与环境学院,新疆 伊宁 835000;3.伊犁师范大学资源与生态研究所,新疆 伊宁 835000;4.伊犁师范大学旅游与历史文化学院,新疆 伊宁 835000)
1 研究背景及意义
《中共中央关于制定国民经济和社会发展第十四个五年规划和二〇三五年远景目标的建议》 指出,要加快发展现代服务业,推进服务业数字化建设。2021 年12 月22 日,国务院印发了《“十四五”旅游业发展规划》,文件强调,我国将全面进入大众旅游时代,旅游业发展仍处于重要战略机遇期。要引导开发数字化旅游体验产品,推动旅游资源借助数字化活起来。要加快推动大数据、云计算、物联网、区块链及5G、北斗系统、虚拟现实(Virtual Reality,VR)、增强现实(Augmented Reality,AR) 等新技术在旅游领域的应用普及,增强旅游产品的体验性和互动性。国家相关文件的出台,为虚拟旅游提供了政策保障与支持,也是推动我国旅游业转型升级的重要政策保障。旅游业是现代服务业至关重要的一环,是实现人民幸福感、获得感的重要指标[1-2]。
随着计算机与网络技术的不断发展,数字化转型正在重塑旅游企业和旅游消费者之间的沟通空间,信息化旅游者对旅游供给侧创新发展新型旅游模式的呼声也越来越高,推进旅游业智能化发展势在必行[3]。虚拟旅游作为一种新型“互联网+旅游”模式,是利用视觉、听觉和触觉等多种感官,在虚拟环境中模拟现实中旅游真实场景,为用户带来沉浸式体验的一种旅游模式,虚拟旅游在后疫情时代旅游业创新发展中具有广阔的应用前景[4-6]。虚拟现实技术作为数字经济发展的代表,是不断推动旅游业创新发展的新引擎。该技术将深入旅游业各个领域,对传统旅游模式进行迭代升级,必将对旅游行业产生深远影响[7]。
位于新疆焉耆盆地的博斯腾湖,是我国最大的内陆淡水吞吐湖[8]。博斯腾湖拥有丰富的水产、芦苇、湿地等自然资源,是新疆最大的渔业生产基地、全国四大苇区之一和国家湿地公园。2014 年博斯腾湖景区被评为国家5A 级旅游景区,2016 年入选“十三五”国家遗产名录。博斯腾湖不仅有旖旎的自然风光,还有悠久的历史与独具特色的民族风情,旅游资源丰富,类型多样。但博斯腾湖地处边陲,深居内陆,离我国东部发达地区主要客源地理位置较远,其璀璨的旅游资源并不为大众所熟知。实现博斯腾湖旅游数字化为博斯腾湖旅游发展带来了新契机。利用VR 技术实现博斯腾湖旅游资源的全景在线展示,加大旅游宣传,塑造旅游品牌影响力,是实现其可持续发展的关键举措。
2 关键技术指标
2.1 720°全景技术
720°全景技术是一种基于图像处理技术生成的虚拟现实技术,它是把相机环绕景物前、后、左、右、上、下720°拍摄的一组照片拼接成一个全景图像,并在专用网页展示的一种计算机图形学技术[9]。720°全景主要是通过图片的缝合,实现对真实场景的三维虚拟展示。用户可以通过鼠标或键盘对图片进行上下、左右移动,并可以任意选择视角进行放大和缩小。720°全景可如亲临现场般对景物进行环视、俯瞰和仰视,具有强烈的影像透视效果。720°全景可通过专业的VR 眼镜和穿戴设备实现虚拟现实互动,具有较强的沉浸感与交互性。目前,720°全景技术的种类已经从简单的柱形全景,发展到球形全景、立方体全景、对象全景、球形视频等。常见的720°全景开发软件包括国外的Pano2VR、Krpano、 QuickTime VR、 IPIX、 PixMaker、 Corel Photo-Paint、Ptgui 等,国内可通过720 云、全景客、全景生活等软件实现全景影像的开发[10]。
2.2 Pano2VR 虚拟全景漫游技术
全景漫游就是通过计算机技术模拟出一个可交互的三维空间场景。全景漫游系统以数字化的方式模拟现实真实场景,本研究使用Pano2VR 软件作为全景漫游开发工具,Pano2VR 是一款专业的全景图像制作软件,它可以将拍摄的全景图片转换为交互式虚拟体验[11]。Pano2VR 软件的主要功能是将多种格式的全景图片转换成720°全景漫游的图像文件并进行显示。Pano2VR 软件具有一系列丰富的功能,包括图像校正和矫正,创建具有真实3D 效果的全景体验,以及支持全景图像预览和全景系统热点的制作,以增强交互性。作为全景图像制作的主流软件,Pano2VR 可以兼容不同平台的图像显示功能,是一款非常专业的三维虚拟图像转换软件。该软件还可以将平面、圆柱体、球体、立方体、交点、T形、条形图像作为输入对象,支持多分辨率渐进式变焦,并能重新优化引擎以生成更流畅的画面,兼容JPEG 、TIFF、PNG、BigTIFF、Photoshop PSD/PSB 等图片格式加载并以HTML5/CSS3 格式输出。
2.3 全景图像拼接技术
全景图像拼接技术是一种用于将多张图像合并成一张完整全景图像的技术。该技术主要通过图像拼接工具根据图像特征提取、特征匹配、坐标转换和图像合并等关键步骤分析图像中的相似特征自动合成完整的全景图像[12-13]。现有的图像拼接应用软件很 多,如Ptgui、Photoshop、Pixtra PanoStitcher、PanoramaStudio、Pano2QTVR 等。其中,Ptgui 是一款知名的多功能全景图像拼接软件。Ptgui 软件可以识别批量导入照片重叠区域的像素特征,然后通过自动裁剪缝合拼接出全景图。Ptgui 软件操作简单,图形处理速度快,是目前应用最为广泛的全景图像处理工具之一。全景图像拼接技术在计算机视觉、图像处理领域有着广泛的应用,如在无人机航拍、地图制作、VR 技术应用等方面都有广泛的应用。利用全景图像拼接技术可以生成更加精细、逼真的全景图像,提高图像处理的效率、增强全景漫游系统的画面效果。
2.4 HTML5 网页技术
HTML5 是一种用于创建网页的标准化语言,是HyperText Markup Language(HTML) 的最新版本[14]。HTML 由于其操作简便、平台的独立性强、可扩展性强等特点受到了用户的青睐。HTML5 是新一代的HTML 标准,HTML5 改善了以前HTML 标准中的诸多问题,使得系统功能更加健全,大大提升了用户的体验感。HTML5 还增加了许多新功能,如音频和视频播放、图像嵌入、客户端数据存储、文件共享等。此外,HTML5 还具有离线使用网页的功能,即用户可以在没有网络连接的情况下访问已缓存的网页。HTML5 网页全景漫游技术是使用HTML5 技术和JavaScript 语言实现全景漫游效果的技术。这种技术在运行中使用HTML5 Canvas 元素和WebGL 技术[15-16]。首先,与传统的Flash 技术相比,HTML5 网页全景漫游技术不需要用户安装任何插件,可以在任何支持HTML5 的设备上流畅运行;其次,HTML5 支持移动设备浏览,能够提供更好的全景体验。此外HTML5 网页技术还支持对全景图片的自定义编辑,以满足不同用户个性化需求。
3 博斯腾湖旅游景区全景图像制作流程
3.1 素材拍摄
1) 全景场景确定。研究根据景区调研,在景区导览图的辅助下选取了博斯腾湖大河口景区最具代表性的21 个场景(见图1) 进行了实地现场勘查,在高德地图的辅助下选取最佳拍摄位置。
图1 博斯腾湖大河口景区全景场景地图
2) 无人机选择与调试。拍摄无人机选用DJIPhantom4pro+四旋翼无人机,该机内置GPS/GLONASS 双卫星定位组件,且支持实时图传、智能避障、指点飞行、视觉追踪等功能,可在景区复杂环境下进行拍摄。该机悬停精度可达垂直:±0.1 m,水平:±0.3 m,最大可支持4 000×3 000 像素的高分辨率照片拍摄,且其内置的“三脚架”模式最高可承受10 m/s 的风速,该机稳定的性能为高清照片的拍摄提供了保障。
3) 实地拍摄。将无人机飞行至需要拍的场景,保持高度为50~80 m 之间,保证无人机拍摄场景360°范围内不受阻挡,选择无人机智能“三脚架”空中智能悬停功能,以无人机正面朝向为基准,依次调整无人机云台下水平0°、下俯视30°、下俯视60°依次旋转无人机45°连续拍摄24 张照片,然后选择镜头垂直0°与180°朝向依次拍摄2 张照片,最终得到26 张照片,完成一个景点拍摄。此拍摄法保证了每张图片与相邻图片之间不超过20%的重复率,为全景图片顺利拼接与最大限度还原真实场景奠定了基础。
3.2 图像处理与拼接
1) 图片筛查。无人机拍摄完成的照片由于角度变化会出现明暗不同的情况,需要工作人员对每个场景的照片逐一筛查,对曝光不足等原因拍摄的不合格照片需要使用Photoshop 软件进行处理,如提高图像清晰度,增加对比度、色彩饱和度等。
2) Ptgui 全景拼接。将筛查完的照片按场景逐一输入Ptgui 软件中,让软件自动对齐、拼接、缝合并输出全景照片,在此过程中Ptgui 软件内置算法会逐一分析每张图片重合的影像区域,并对图像进行坐标转换、畸变矫正、投影变换、匹配点选取、拼接融合等操作,最终合为一张完整的全景图(见图2)。全景图生成后由于无人机无法捕捉到天空的照片,造成天空视角的缺失,因此,在后期图像合成过程中需要对天空影像进行加工处理。
图2 Ptgui 图像拼接后生成的全景图
3) 亮度与颜色的均衡处理。因为相机和光照强度的差异会造成一幅图像内部、图像之间亮度的不均匀,导致拼接后的图像会出现明暗交替,这会影响全景漫游图像的美观度。亮度与颜色的均衡处理是一种图像处理技术,它是使用相机的光照模型来校正一幅图像的亮度和对比度,消除图像色偏的不均匀性。亮度与颜色的均衡处理利用相邻两幅图像重叠区域之间的关系,建立相邻两幅图像之间直方图映射表,通过映射表对两幅图像做整体的映射变换,最终实现整体的亮度和颜色的一致性。
3.3 交互功能添加与全景图像发布
1) 全景图导入与输出。将Ptgui 软件拼接与后期处理好的全景场景图片依次添加至Pano2VR 软件后,系统会自动判别图像输入类型并生成720°全景漫游全景图。由于Pano2VR 软件内置HTML 输出功能,用户可选择flash 或HTML 输出格式,并将文件扩展名修改为.swf 保存即可。
2) 皮肤设计。全景皮肤设计为全景漫游系统设计外观和用户交互界面,为用户提供良好的体验。皮肤设计主要包括界面皮肤设计与沙盘皮肤设计两种。界面皮肤设计可以修改皮肤名称与外部化皮肤图片,用户也可以对皮肤进行个性化编辑。沙盘皮肤设计需要单独制作沙盘地图并做好景点标记、游览路线等信息录入工作,将沙盘地图导入皮肤编辑器后,将相应的全景场景添加到沙盘所对应的节点中。
3) 场景热点创建。全景漫游系统场景热点是在全景场景中添加一个虚拟标记,用于向用户提供相关信息或者跳转到其他场景。Pano2VR 软件支持多种多媒体交互设计,用户可以在全景场景中添加音频、视频、图片、flash 动画等多种效果,提升场景的渲染效果。其次,用户还可以添加气球、光影、天气模拟、直升机模拟等多种动态效果来增加场景的丰富性。在创建热点时,首先,需要在全景图上选择所需要创建热点的位置,然后根据软件的热点属性对热点进行设置,如热点的大小、形状、颜色、文字标题等。再次,需要设置热点功能,如打开网页、展示信息、跳转到其他场景等。最后,进行场景输出,利用Pano2VR 软件的输出功能,将制作好的VR 场景输出到本地电脑或发布到互联网上,以便其他人进行访问。
4 博斯腾湖全景漫游系统的开发和设计
博斯腾湖全景漫游系统采用MVC 架构下的HTML5、JavaScript 脚本语言进行开发。系统构架见图3。
图3 博斯腾湖全景漫游系统架构
1) 数据层。系统数据主要包括两部分:全景数据与信息数据。全景数据库,主要储存前期采集的景区全景数据信息,包括景区导览、场景数据、景点位置等。信息数据主要包括场景所要添加的属性数据,如文字、图片、视频展示等数据。
2) 逻辑层。逻辑层是连接系统数据层和用户应用层的桥梁,负责虚拟现实各种功能的模块化设计与开发。通过逻辑层构建的各种全景游览功能模块,系统可以快速地检索到景区的全景数据、热点数据和地图导览等数据,为系统的数据整合开发奠定了基础。逻辑层使用Java+SpringMVC+MyBatis+Nginx 等程序进行联合开发设计,以Web Service 服务的方式为前端各场景提供所需媒体素材的编辑、保存以及发布。逻辑层采用SpringMVC 搭建Web设计,这使得系统的框架层次更加清晰,可扩展性更强,降低了系统的耦合度。此外,针对全景浏览与编辑等核心功能,系统采用Photo-SPHE-VIEWER.js 来管理全景的渲染和显示。项目数据通过MyBatis 提供便捷的交互界面,采用NGINX 服务器解决项目网站的请求与发送。场景交互和媒体数据存储通过文件传输协议(File Transfer Protocol,FTP)实现,用户在使用过程中的所有数据也远程传输到FTP 服务器,实现远程下载和上传,保证用户数据的安全性。
3) 用户层。用户层系统主要分为3 个模块,包括全景导览、智能服务与社交模块。全景导览主要功能包括全景地图导览、场景切换与多路线漫游,是实现系统漫游的主干板块;智能服务模块可实现景区语音讲解、景区景点信息推送与第三方支持的景区线路导航等功能,可增加用户的游玩兴趣与交互体验;社交模块主要为用户社交与分享服务,用户可以将个人轨迹分享给好友,也可以在全景漫游系统里留下个人标记,增加系统与用户的互动。该层主要采用HTML5+CSS3+JS+Vue.js 等编程技术来开发前端静态页面,通过CSS3 技术设计了静态页面的基本样式和实现了各种交互效果。
5 功能实现
5.1 全景漫游功能
根据博斯腾湖景区规划设计方案,工作人员通过实地勘察考证,根据景区主要景点布局确定全景图像采集点,按照景区参观路线确定全景游览布局。场景采集分为空中与地面两部分进行。空中部分主要以无人机俯瞰的方式采集景点全貌,地面部分采用GOPRO 全景相机对各个场景地面细节进行拍摄。所有全景图片采集完后,采用Photoshop 软件对采集图片进行了前期筛查处理,在利用ptugi软件对图片进行全景拼接,随后利用Pano2VR 软件实现全景漫游功能(见图4)。
图4 系统全景漫游功能实现
5.2 智能服务功能
系统融入了智慧旅游服务功能,为游客提供“全过程、个性化”的旅游综合信息服务。智能服务有三大功能实现。
1) 景区讲解功能。系统会根据用户切换的场景提供语音讲解服务(见图5),包括景点的历史、特征、艺术价值等,辅以柔和的音乐,带给游客身临其境的沉浸感。除此之外,游客还可以通过点击场景中视频、图片、文字、链接等按钮查看更多的景点信息,极大增强了景点内容的丰富性与游客的互动性。
图5 景区讲解功能
2) 景区热点推送。系统连接景区智慧旅游服务平台,实时为游客推送景区相关信息,如景区天气信息、客流量信息、旅游舒适度指数等,为游客旅游决策提供依据(见图6)。
图6 景区热点推送
3) 线路导航。通过电信提供的基于位置服务(Location Based Service,LBS) 接口为用户提供定位、导航功能,生成最佳的旅游行线路,并实时记录用户轨迹(见图7)。
图7 线路导航
5.3 社交功能
社交功能主要实现用户之间数据互动与提供共享服务,将三维全景、博客、社会网络服务、三维虚拟社区等服务有效结合,目的是为用户提供在系统进行文字、照片、音视频记录等在线分享服务,实现游客之间多方位实时互动。
1) 互动分享。系统可获取好友分享的轨迹、音视频、图片、博客、日志等信息,用户可将自己的游览经历通过微信、QQ 等社交平台分享给好友,实现信息共享,方便好友之间经验交流与互动(见图8)。
图8 互动分享
2) 个人标记。系统会实时记录用户个人轨迹,可以在系统中添加游览标记,也可以发布游记心情,并向景区提供投诉与建议,可以帮助景区建设更好的产品体系和提供更高服务品质(见图9)。
图9 个人标记
6 结束语
本文将虚拟现实技术与旅游业相结合,以博斯腾湖旅游与景区为例,探索了旅游业网络化、虚拟化发展的新模式。研究在前期对博斯腾湖旅游景区进行了图像采集、图片处理、Ptugi 拼接、Pano2VR全景漫游生成的基础上开发了博斯腾湖景区全景漫游系统,系统采用MVC 架构下的HTML5、Java-Script 脚本语言对博斯腾湖全景漫游系统进行了开发设计,实现了用户端的全景漫游、智慧服务与社会交往等功能,为用户提供了一个在线旅游、智慧服务、交际交往的便捷平台。全景虚拟技术在旅游业智慧化、虚拟化发展方面有广阔的应用前景。本研究目前有许多待改进的地方,如如何将虚拟漫游技术与3D 仿真技术相融合,带给游客更加逼真的体验;将虚拟现实与智慧旅游、GIS 技术相结合,解决旅游业长期面临的信息孤岛问题;在满足大众化智能旅游需求的同时,推动个性化、定制化虚拟旅游服务的发展。旅游业与虚拟现实技术相结合正处在深入发展阶段,相信在计算机网络技术的推动下,虚拟旅游将逐步向着大众化方向迈进,实现虚拟与现实的深度融合。