基于Krpano的现代农业园区VR全景漫游系统的设计与实现
2022-09-19柯佳宏李勇
柯佳宏李勇
(1.四川省地质矿产勘查开发局区域地质调查队,四川 成都 610213;2.四川省计算机研究院,四川 成都 610041)
引言
2022年初,国务院印发《“十四五”推进农业农村现代化规划》,提出推进乡村产业园区化融合化发展,支持有条件的县(市、区)建设现代农业产业园。现代农业产业园,是打造现代农业示范的载体、现代农业技术装备集成的载体、新主体“双创”的载体、优势特色农业发展的载体、农村一二三产业融合的载体。现代农业园区作为资本、科技、人才等要素的集聚区,对全面推进乡村振兴战略,实现农业农村现代化有着重要意义。近年来,随着计算机技术和虚拟现实技术的发展,VR全景技术广泛应用于智慧旅游、智慧校园、数字博物馆等领域[1]。VR全景技术以其强烈的沉浸感和交互性,给用户身临其境的视觉体验展现目标对象环境。随着国家大力发展现代农业园区建设,园区已有田园风光景色、农产品生长环境、人居环境等迫切需要一个轻量级方便的系统向大众推广和展示。
以成都崇州市现代农业产业园为研究区域,利用无人机航拍获取园区空中VR全景图,利用单反相机和全景云台获取园区农产品商店室内VR全景图,并收集整理园区特色农产品溯源资料数据,基于Krpano平台和HTML5技术,接入园区线上商城系统,开发现代农业园区VR全景漫游系统。系统实现了园区农业景观VR全景漫游、在线农产品销售以及在线农产品溯源一体化等功能。本系统将VR全景技术、电商和农产品溯源进行有效结合的模式,打造现代农业园区展示新平台,对促进农业信息化发展、农业旅游、农民增收具有非常重大的意义。
1 系统需求分析
1.1 数据需求
系统数据需求主要有以下几点:现代农业产业园区农业景观VR全景数据;现代农业产业园区农特产品展览销售馆室内VR全景数据;现代农业产业园区特色农产品溯源数据和电子商城链接数据。
1.2 功能需求
结合系统的开发背景以及用户需求,功能需求主要有以下几点:农业景观的720°全景VR浏览,支持VR设备为用户提供逼真的景观浏览体验;农产品VR全景展厅功能,将传统的农特馆展厅以720°全景的方式为用户带来不一样的购买体验;农产品在线销售功能,用户在浏览农产品VR全景的时候可以直接购买该产品;农产品在线溯源功能,为用户提供农产品的施肥、用药、气候、土壤等信息指标展示;支持PC端、移动端浏览器播放,并且针对不同端有不同优化,只需要浏览器访问网页便可以加载访问系统;支持视频插入到全景,实现园区宣传片播放展示。
2 VR全景图制作
2.1 现代农业产业园区农业景观VR全景数据
农业景观VR全景数据的制作主要步骤[2]:根据园区景观的分布确定好航拍的点位,将无人机在点位一定高度悬停,把无人机相机调整到水平视角开始拍摄,朝1个方向横向旋转水平拍摄,拍摄1圈8张图片,每张照片20%左右的重合度;水平方向拍摄1圈以后,把相机镜头向下45°,然后再拍摄1圈,拍摄要求和水平方向一样;在垂直地面拍摄1张地面照片即可;拍摄完成以后,使用PTGui软件拼接制作2∶1比例的平面全景图(.JPG),最后将全景图导入Photoshop中进行调色和补天(补地)等处理,获得园区农业景观VR全景数据。
2.2 现代农业产业园区农特馆室内VR全景数据
室内VR全景数据采用单反相机、广角镜头、三脚架和全景云台设备采集,主要步骤[3]:将镜头对焦模式调整为手动对焦,将对焦环调整至无限远,以保证拍摄的全景图像远处画面也能清晰呈现,在焦段设置中需要注意的是全画幅相机镜头为8mm,半画幅相机为12mm,在拍摄过程中不要调整焦距,以免拍摄出的图片因镜头节点发生变化而导致图片无法拼合,为保证相机成像的质量,根据环境调整相机的感光度、曝光补偿、焦段、光圈值;架设相机三脚架,安装云台和相机,确保相机水平方向与地面平行;调整相机角度,根据云台指针上方刻度分别调整水平、上斜、下斜方向,并确保对焦清晰后,依3个方向绕云台下方刻度0°、60°、120°、180°、240°、300°各拍摄1张,共计水平6张为1组,上斜6张为1组,下斜6张为1组,总计水平、上斜、下斜共18张,最后调整云台上方刻度垂直向上90°,分别垂直向上和向下拍摄1张;拍摄完成以后,使用PTGui和Photoshop制作获得农特馆室内VR全景数据。
3 系统设计
3.1 系统架构设计
系统基于Krpano开发实现VR全景漫游展示,基于百度地图API服务实现VR全景的位置定位。系统采用B/S模式架构设计,逻辑结构分别为数据层、服务层和应用层3层结构。数据层主要是制作完成的全景图数据和农产品溯源数据等。服务层使用百度地图API for JavaScript等地图功能,可将百度地图(街道图和卫星影像图)嵌入到用户端,供Krpano应用程序调用。应用层主要是基于Krpano框架二次开发[4],通过对Krpano框架内部XML数据的解析和重构,开发实现了全景定位、全景控制、全景交互、全景漫游、农产品溯源等功能。系统整体架构设计如图1所示。
图1 系统架构图
3.2 系统功能设计
根据系统功能需求分析情况,设计系统功能模块主要全景漫游、农产品溯源展示、全景地图定位、全景查询等。本系统功能模块设计如图2所示。
图2 系统功能设计图
3.3 开发环境
系统开发工具WebStorm,WebStorm是Jetbrains公司旗下1款JavaScript开发工具。被广大JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。
系统开发语言HTML5[5],是互联网的新1代标准,是构建以及呈现互联网内容的1种语言方式。广义论及HTML5时,指的是包括HTML、CSS和JavaScript在内的1套技术组合。HTML5能够减少浏览器对于需要插件的丰富性网络应用服务,如Adobe Flash、Microsoft Silverlight与Oracle JavaFX的需求,并且能提供更多可以有效增强网络应用的标准集。
开发平台Krpano[6],Krpano是1种基于体积小巧、灵活且以高性能著称的三维全景播放器,其可以作为Flash和HTML5应用程序。Krpano也是1款强大的全景图制作工具,从全景图的合成、切片到全景漫游的生成一应俱全。Krpano还为开发者提供了1个简单轻便的接口用于开发第3方插件,其中的HTML5JavaScript插件可实现Krpano与HTML5的完全结合,使用纯代码来扩展或控制krpano。
4 系统实现
本系统基于Krpano和HTML5开发实现了全景漫游、农产品溯源展示、全景地图定位、全景查询等功能。
4.1 全景漫游
在浏览器地址类输入本系统访问地址,即可进入使用本系统。
4.1.1 小行星开场
进入成功后,可以看到以下景观球体旋转的动画,该初始动画会按照设备性能以及用户网络速度持续数秒,设备性能越好网络速度越快持续时间越短,如图3所示。
图3 小行星开场界面
4.1.2 全景漫游主界面
主界面窗口为VR全景图片展示画面,界面下部为导航栏,右侧是地图工具,右上角是工具栏,右下为溯源功能图标。导航栏控制着系统的浏览路径,可以自由选择想要浏览的全景场景,以及查询每个点相关的信息。地图工具负责显示当前浏览点的地理位置,方便用户获取该点详细的地理信息。工具栏为用户提供系统相关设置以及附属功能,如图4所示。
图4 全景漫游界面
4.1.3 全景浏览功能
全景浏览是本系统最为主要的功能,能给用户带来仿真的景观浏览体验以及对感兴趣的对象进行查询。全景图中有一些地名以及抖动的图,实现不同全景浏览点位切换,用户可以通过点击这些图标前往下1个全景观测点。直升机图标表示天空中的观测点,向前箭头的图标表示沿道路的观测点,向下的箭头表示进入建筑物内或者附近地面的观测点。每个界面都是通过观测点相互链接,通过旋转画面均能找到。将鼠标悬停于图标上,在图标的上方会出现弹窗。该弹窗是该图标所代表的观测点的动态预览界面,可以通过弹窗初步预览该观测点大致内容,如图5所示。
图5 下一场景预览
4.1.4 导航功能
导航功能主要是通过导航栏操作的,主要由前进、后退、自由选择、信息查询工具组成。右箭头按钮为前进按钮,鼠标点击或者在触摸屏幕上轻触按钮,界面便可以进入下1个预设的观测点。左箭头按钮为后退按钮,鼠标点击或者在触摸屏幕上轻触按钮,界面便可以退回到上1个预设的观测点。导航栏中部为观测点自由选择按钮,鼠标左键点击或者在触摸屏幕上轻触按钮,将会弹出观测点列表窗口。
在观测点列表窗口中陈列整个系统中的全景观测点,用户可以不按预设自由选择需要进行浏览的观测点。值得注意的是,该列表的顺序同时也是预设的浏览路径。导航栏上方是信息查询工具,通过点击鼠标左键或者触摸触发,信息窗口弹出。
4.2 地图功能
地图功能是对全景浏览功能的补充和完善,在切换不同观测点的过程中用户可以通过地图功能了解该观测点的地理空间位置以及其他观测点的位置关系。地图的功能主要有地图基础操作、地图点击查询、地图底图切换功能。
4.2.1 地图基础操作
地图放大,地图缩小,地图平移功能。
4.2.2 地图点击查询
地图点击查询切换功能是地图功能的核心,使用该功能可以在地图上选择用户需要的全景浏览观测的点位,将空间信息和全景联系在一起,对全景浏览起到一定辅助作用。地图中全景点位通过图标标注在地图底图上,存在的全景浏览观测点位为蓝色,当前页面加载的点位显示为绿色。用户通过点击各点来切换点位,左侧全景浏览界面便会加载点位,待进度条读完便可浏览,如图6所示。
图6 地图点击查询
4.2.3 地图底图切换功能
用户可以通过地图底图切换功能来达到使用不同底图应对不同工作的需求。地图的底图切换功能包括2种,矢量化的二维地图和栅格卫星图像。用户可以根据自己的需求进行选择,如图7所示。
图7 卫星地图加载
4.3 农产品溯源功能
点击功能图标,以幻灯片播放的形式展示,溯源信息。农产品在线溯源功能为用户提供施肥、农药使用、气候报告、农产品生长报告等信息,如图8所示。
图8 农产品生长溯源
4.4 农产品购买功能
系统提供农产品在线购买功能,并接入传统商城嵌入到本系统。为用户提供商品在线购买,点击图标即可立即购买以及查看商品详细图片,如图9和图10所示。
图9 农产品在线购买
图10 农产品图片查看
5 结论
本文通过系统需求调研与分析,采集现代农业园区地面和空中全景原始影像数据并制作全景图,基于Krpano全景开发框架发布现代农业园区VR全景展示系统实现现代农业园区交互式全景漫游,基于HTML5技术开发实现VR全景地图查询、农产品溯源和农产在线购买功能。本系统充分利用VR全景的实景展示技术优势,接入现代农业园区的农产品溯源和在线商城,大大提升了园区的展示效果,并为园区农产品的销售提供用户入口,增强了用户对园区农产品的生长环境的认识。同时,为现代农业园区的农业旅游推广也提供新的展示方式,增加园区的推广渠道,间接提高园区的经济收入。