苏 融,李胜乐,厉彦玲
1.中国地震局地震研究所,武汉 430071 2.山东农业大学信息科学与工程学院,泰安 271018
校园虚拟场景的建模方法主要有两种,一种是基于图形的建模与绘制(Geometry Based Modeling and Rendering, GBMR );一种是基于图像的建模与绘制(Image Based Modeling and Rendering,IBMR)[1]。虽然运用基于图形绘制方法比较常见,但是这种方法生成的虚拟场景真实性、时效性较差,场景复杂度较高,直接影响制作精度和效率,对于某些环境如室内环境而言,不仅要刻画的实体多而复杂,而且还要考虑光影效果以及场景的精细程度。同时,在传统的HTTP传输模式和网络带宽下,不能实现大规模虚拟场景的海量数据的网上实时下载和实时渲染。目前,国内高校的网站多以文字与图片或二维地图为主,并且相对分散独立,不能形成校园全貌漫游,同步查询相关信息的校园导航信息平台。
因此,本文以山东农业大学为原型,设计了基于全景视图的虚拟校园导航系统,并集成到高校的门户网站中,提供一个开放的系统,使得可以体验校园景观实时漫游,校园信息同步查询,完善了大学校园的导航功能,同时优化了校园信息。同时以新生入学报到导航为例,实现全景技术的虚拟流程导航应用。
基于图像的绘制(IBR),就是从初始的一组取自真实场景的图像开始,经过一定的计算处理,合成新的图像。它利用了图形学中用几何信息生成新图像和计算机视觉中恢复粗略场景几何信息的特点,避开了图形学中用几何生成真实感场景的真实性和实时性问题,以及计算机视觉中难以精确恢复几何信息等问题。这一方法与传统方法相比具备采样简单、绘制迅速、真实感强等重要优势。
基于全景图的方法是基于图像的绘制技术中应用最广的一种方法。全景视图的方法的基本思想是在一个给定视点采集各个方向的实景图像,然后把这些实景图像投影到一个圆柱的内表面或者是球体的内表面,进行视图拼接,最后利用反投影技术重新获得各个视角方向相应的场景图像[2]。
构建全景图的过程通常可分为采集图像、图像预处理、图像拼接、重投影播放等四个主要步骤[1][3](见图1)。
图1 全景图制作流程
全景图像素材的获取一般有两种方式,一是采用专门全景设备,如全景相机或者带有鱼眼镜头或者广角镜头的相机;二是利用数码相机或者普通相机。
鱼眼镜头是一种特殊的超广角镜头,其焦距极短,约在6~16 mm之间,并且视角接近或能达到甚至超过180°,超出人眼所能看到的范围。通常的鱼眼照片呈圆形或者矩形,除了画面中心点的景物保持不变外,其他的点影像变形非常显著[1](见图2)。
为了维持实际场景中的空间约束关系,必须把拍照得到的实景图像投影到某一曲面上(球体、圆柱体或者立方体等),图像信息以曲面的形式保存在计算机上,对于全景图系统来说,构造合适的模型和表示是非常重要的。通常,比较常见的全景投影方式有:柱面投影、球面投影和立方体投影。
1.2.1 球面模型 实景图像的球面模型是将多张相机拍摄的实景图像投影到一个球面上,以球面全景图像的形式存储,显然,中心位于视点处的球面模型是描述一个场景的理想选择。理想的鱼眼镜头可以用球面模型来表示。它有两个属性,一是视角为180°,所以产生的图像为一个圆,而且对称于图像中心。二是镜头的景深无限,即照片中的所有物体都在焦距上。从空间任一实际场景点(x,y,z)指向原点O(相机成像平面的中心)的射线,与投影球面+y2+x2“=Z2相交于一点,再把这一点正投影到一个与z轴(鱼眼镜头的光轴)垂直的固定平面(相机成像平面)上,得到平面点(u,v)。 (u,v)即为空间实际场景点(x,y,z)的球面投影,即在鱼眼镜头成像平面上的对应点[1](见图3)。本文中应用了矩形球面投影模型对拍摄的鱼眼图像进行了投影(见图4)。
图2 鱼眼图像Fig.2 Fisheye image图3 鱼眼图像的球面投影模型Fig.3 Spherical projection model of fisheye image
图4 矩形球面投影示意图
1.2.2 立方体模型 实景图像的立方体模型是为了将多张实景图像投影到一个立方体表面上,以立方体全景图像的形式存储(见图5),由前,后,左,右,上,下6张照片无缝拼接而成,可以由球形全景图直接转换而成(见图6)。此模型能够一方面消除实景图像之间可能存在的重复景物信息,同时也得到了每张实景图像上的像素点在点空间中的方位信息,直观容易理解,提供全方位的浏览[2][4]。
图像拼接技术的基本流程为,首先获取待拼接的图像源,然后经过预处理(平滑滤波等),再进行统一坐标变换,即将所有图像序列变换到统一的坐标系中,不同的变换方式对应不同的拼接流形,接着进行图像配准和图像融合,最终得到拼接全景图。
图5 立方体投影示意图Fig.5 Schematic diagram of the cube projection图6 立方体展开示意图Fig.6 Expand schematic diagram of the cube projection
在校园有代表性的位置采集图数据,经投影变换、拼接等步骤生成全景图像,利用这些全景图像的集合以虚拟现实的方式表现校园景观。为了方便用户漫游校园虚拟全景空间,虚拟校园系统采用校园电子地图作为导航图,借助热点技术,将导航地图与场景进行匹配,用户在显示的电子地图任一热点处按一下鼠标即可进入相应位置的虚拟全景空间;用户在场景中切换时,导航图中的标识点也随之移动,在宏观上能让用户体会到方向感与位置感。各个虚拟全景图也以热点的方式链接在一起,方便浏览。系统还设置了建筑物内部三维全景场景的漫游子系统,通过点击所显示的相关链接,可以了解建筑物内部代表性房间的格局。同时还可通过虚拟全景空间访问有关网页或查询有关信息。本系统共采集了三个校区百余个场景数据,系统网站入口为。
本系统由数据库、客户端界面、及用户组成(见图7)。本虚拟漫游系统主要向用户提供的信息内容包括:校园场景地图导航、单视点场景全景影像、和其他辅助信息如校史介绍、院系介绍景观信息等。
基于对虚拟校园发展现状的分析和对虚拟技术的研究,本系统功能设计如下:
(1)虚拟景点地图导游[4]。以可视化的数字电子地图为背景,用动态网页为表现手段,为游览者展示虚拟校园的综合面貌及各景观位置关系和布局。
(2)交互式三维全景虚拟漫游。游览者根据个人喜好选择路线进行漫游,可利用键盘的方向键、全景浏览器热点和其他功能键配合,调整控制摄像机的前进、后退和观察角度,在三维场景中任意的选取旋转、行走、切换视点等不同模式进行浏览。
(3)信息查询。通过全景浏览热点等按钮,可以对所到之处的感兴趣的位置进行更多信息的查询,例如文字、图片、视频、音频等形式的信息介绍。同时可以通过链接进入相应的网站首页进一步了解。
(4)提供在线帮助。提供系统的使用指南,解决用户操作中遇到的问题。
除此之外,全景虚拟漫游系统还需要满足实时浏览的性能需求,这依赖于多种因素,包括网络应用程序开发技术的运行性能,以及系统的整体设计水平、编码质量、硬件配置等。
图7 虚拟校园漫游导航系统的总体架构
2.3.1 全景图的制作 (1)全景照片的拍摄。本文所使用的全景拍摄器材有尼康D5000 单反数码相机,SigmaF3.5-EX DG 8mm F 口鱼眼镜头,得力M-1 型全景云台,三角架等。每一场景拍摄时,将云台控制每60°为一个结点,拍摄一组6 张照片。(2)全景图的合成。本文所使用全景图拼接软件为 PTGui。相对其他全景接图软件来说,PTGui可做更精细的操作,例如可手动定位,矫正变形,调整曝光差异等。它的操作流程包括:原照片的输入,参数设置,控制点的采集和优化,全景的粘贴,输出完成全景。(3)制作360度全景图。本文利用Pano2VR软件将拼接好的全景图片生成为360度全景图Flash文件,同时设置显示参数以及用户数据。通过对生成的单视点场景全景图添加全景图交互热点,实现多场景交互漫游功能。
2.3.2 虚拟校园漫游功能实现 在Pano2VR中,制作全景图选择的皮肤模板,一般自带多种漫游功能按钮,如移动、缩放、显示用户信息、全屏。也可以添加其他功能键,如返回默认视图,显示/隐藏元素。
2.3.3 虚拟校园导航功能实现 (1)二维电子地图导航。在系统网页中,添加电子地图导航插件,实现电子地图查看、缩放和导航等功能,系统将二维电子导航图与一个JavaScript 函数相关联,用户点击时由该热区所对应的JavaScript函数控制全景浏览插件进行全景图的切换,全景图中场景切换时,该图上的标识也随之移动。 (2)缩略地图导航。利用AutoCAD、MapGis、Photoshop等等软件制作校园简易缩略图。全景图制作中,在Pano2VR的皮肤编辑器中添加制作好的校园缩略图,并在地图中相应的场景添加按钮,实现与单视点场景的关联。可以通过雷达来实现单视点方位导航功能。在皮肤编辑器中通过编写雷达元素脚本语言,实现由雷达表示当前场景视图的绝对位置和方向。该图包含在生成的全景图多媒体文件中(见图8)。
2.3.4 虚拟校园信息查询功能实现[4]在全景图制作中通过脚本语言添加文字、音频、视频等热点,将相关信息添加至相关的全景图场景。同样也可将信息加入地图导航栏中,实现信息查询功能。
2.3.5 系统发布 在以上功能实现基础上,自动生成全景图和电子地图,进一步自动生成浏览全景图的网页。采用PHP编程技术,将全景图浏览器嵌入网页中,将虚拟校园的全景漫游、导航、信息查询等功能集成到一个系统中。本系统可以作为校园网站中的一个页面,嵌入校园网内。为了更好展现整个场景的全貌,为浏览者提供全面的场景信息,在界面的布局上,本文将整个客户区分成了三个视图,包括缩略图片栏,全景视图栏,地图导航栏,相关信息栏(见图9)。
图8 全景图中缩略地图导航示意图
图9 全景图校园导航系统网页界面
(1)缩略图片导航栏,实现缩略图链接相应场景的全景图,即缩略图与全景图的联动。
(2)地图导航栏,实现地图中某点链接相应场景的全景图,即地图与全景图的联动。
(3)全景视图栏,由浏览器内置的Flash播放器实现,并实现全景图与缩略图片栏、地图导航栏的联动。
为了尽可能加快网站的浏览速度,系统采用的下载策略是分层优先下载策略,即优先视点中用户视线方向的部分,并在下载中针对JPEG格式的特点进行分层下载,先下载图片的基本信息,然后逐步细化地将图片下载到用户的浏览器缓存中[3]。系统的显示策略与之类似,即优先将用户当前视线附近的图片部分做反投影运算并装载到内存中,当用户采用鼠标操作虚拟空间进行平移和缩放的时候,直接从内存中读取相应部分的图片,无需实时进行反投影运算,大大提高了浏览速度和响应效率,改善了用户体验。
这些全景技术在虚拟数字化校园中可以应用在其他方面。
2.5.1 虚拟流程导航 基于某项工作流程设计路线,在路线中的主要场景采集图像数据,生成全景图。根据工作流程在各个场景的全景图中添加相应的热点,以生成合理的路线。用户通过电子地图导航,浏览流程中各个场景周边环境,提前熟悉流程信息,以提高办事效率。本文以新生入学报到导航为例,实现全景技术的虚拟流程导航应用(见图10)。
图10 新生导航视图界面
2.5.2 虚拟图书馆 生成图书馆目录厅、图书阅读室、期刊阅览室等处的全景图像,用户点击目录厅全景图像中的计算机,可以自动链结到图书馆网址,查询图书馆藏书信息、浏览个人借阅记录,完成书刊预约和使用数字图书馆服务。在期刊阅览室全景图像中点击书架上的某种期刊,则可以直接访问该期刊的目录和摘要,甚至阅览某篇文章的全文,而不再需要采用传统的借阅方式。
本文介绍了基于图像的虚拟现实绘制技术,着重介绍了其中应用最广的方法:基于全景图的方法,基于上述的系统架构体系与各种关键技术,本文设计了以山东农业大学为背景的虚拟校园漫游导航系统,该系统集传统的单视点全景的局部浏览、电子地图导航和多视点全景的全局漫游、信息查询等多项功能于一体。
虚拟现实系统是网络化信息化发展的一个趋势,而基于全景图的虚拟现实系统通过更深入的设计与进一步完善,它还可以帮助管理部门实现规划设计和方案评审。在网络带宽容量扩大以及网络发展的情况下,更有利于全景图的数据更新和基于全景图的虚拟现实系统的广泛应用。
[1] 杨 岚.基于全景视图的虚拟现实系统研究[D].南宁:贵州大学,2007
[2]李云伟.全景图技术的研究[D].武汉:华中科技大学,2007
[3]范莉莎.基于图像的数字化校园实现及其关键技术的研究[D].西安:电子科技大学,2006
[4]郑金鑫.全景虚拟游系统的设计与实现[D].北京:北京邮电大学,2010