专利名称:全景实景混杂现实平台构建方法
技术领域:
本发明涉及虚拟现实技术,具体的说是一种全景实景混杂现实(HybridReality) 平台构建方法。
背景技术:
近年来,虚拟现实技术是国内外在信息技术领域上的一个研究热点。传统的虚拟 现实技术都是通过基于3D的环境建模技术来重现现实世界的三维景观。比如虚拟费城 (Virtual Philadelphia)采用3D建模的方法,将整个费城的每一栋建筑在虚拟空间中进 行建模,用户可在费城的街道进行虚拟漫游。又如虚拟社区,如第二人生(Second Life) 等,同样也是由3D工具进行在空间中建模,与前者不同的是,在社区中的对环境的建模可 由用户自己来完成。采用3D建模技术进行虚拟环境构建的优点是空间立体感和层次感强。 但是通常采用三维场景建模的虚拟环境与真实环境都有较大差别,仿真度不高,并且建模 的大量工作需要由人工完成,效率较低。而近几年发展起来的基于图像绘制的虚拟现实技 术以其环境信息再现完整,场景构建快速等特点逐渐发展成为一种高效实用的环境建模技 术。在利用基于图像绘制技术构建虚拟现实场景过程中,通常采用真实场景的 全景实景图像来构建整个虚拟空间。世界上众多著名大学如美国哈佛大学(Harvard University),英国牛津大学(University of Oxford)等学府在各自网站上采用该技术向 世界展示校园环境。以哈佛大学为例,在其校园内部的重要景点采集全景实景图像,将其映 射到球形空间中,并在校园地图上标定出这些位置。当用户用鼠标点击这些标定位置时,实 现在固定视点上以任意视角观察校园空间景象。通常,这些全景实景图像的拍摄位置都是 离散的。Google公司采用这种基于图像绘制的虚拟现实技术在Google map上推出了街景 (Street View)功能。它采用车载全景摄像头在街道沿途景物进行连续拍摄,并在整个三维 空间中根据二维地图的拍摄路径构建一系列球形全景空间,将对应地理位置的全景实景图 像映射到其球形全景空间,用户可以通过在不同的球形全景空间中跳跃完成对整个街景的 漫游,并且在每一个空间中也可以实现360全方位观察。上述现存的基于图像绘制技术的虚拟现实系统都采用了在球形空间(或其他形 状例如立方体,柱形空间)内纹理映射全景实景图像的方法来构建全景空间。虽然采用基 于图像绘制技术其虚拟场景绘制的仿真度和沉浸感有了很大提高,但是与采用3D建模技 术构建虚拟场景相比,其立体感和层次感又显不足。因此仅仅采用基于图像绘制技术构建 的虚拟空间并不能将场景内容的丰富性进行较为完整的表现。为了解决单一应用3D建模技术或基于图像绘制技术给创建虚拟现实空间带来的 局限,通过混合建模来构建虚拟现实空间的方法被提出。其主要思想是将拍摄的实景图像 通过三维重建的方法建立其三维模型,并将图像纹理映射到建立好的三维模型上,这种混 合建模方法侧重于技术上的混合,是在3D建模的基础上进行与图像绘制技术混合。而美国Google公司与Microsoft公司也采用类似的技术将纹理映射于建立好的三维模型,在各自 的城市漫游网站进行展示。但采用这种技术构建的虚拟现实环境会存在大量的贴图错位等 问题,因此所构建的虚拟现实环境并不十分逼真。因此人们需要一种环境仿真度更高,场景具有较强的立体感和层次感,内容丰富 的虚拟现实平台。目前,能够实现具备上述特性虚拟现实平台的方法尚未报道。
发明内容
为了克服现有技术中构建虚拟场景单独采用基于图像绘制技术与单独采用基于 图形绘制技术所带来的场景构建仿真度较低,或场景立体感与层次感较差,内容不够丰富 的问题,本发明要解决的技术问题是提供一种环境仿真度更高,场景具有较强的立体感和 层次感,内容丰富的全景实景混杂现实平台构建方法。为了实现上述目的,本发明采用的技术方案如下1)在3D空间中创建全景实景显示外幕采用3D图形程序接口创建混杂现实空间的三维环境,并在混杂现实空间的三维 环境中绘制场景显示外幕;将采集到的全景实景图像数据从数据管理后台传送到应用程序 界面中的3D显示平台,纹理映射到场景显示外幕表面,获得全景实景显示外幕;2)创建虚拟地面并添加3D实体在已经构建好的基于全景实景显示外幕的混杂现实空间中建立用于摆放3D实体 的虚拟地面,即把需要在当前基于全景实景显示外幕的混杂现实空间中显示的3D实体添 加到虚拟地面上,用户在混杂现实空间中创建好的虚拟地面上进行漫游;3)将混杂现实空间与现实世界的地理信息数据同步将基于全景实景显示外幕的混杂现实空间当前帧图像所对应的现实世界的地理 信息数据通过3D显示平台与地理信息平台之间的程序接口实时传递给事先准备好的地理 信息平台,在地理信息平台上标定并更新用户当前漫游的位置。所述混杂现实是指通过将全景实景图像作为场景背景,并将3D建模实体有机结 合到全景实景图像构建的场景中,在场景内容上进行融合的计算机虚拟场景。所述全景实景图像数据和地理信息数据的准备包括利用数据采集平台采集构建混杂现实平台所需要的原始数据,将一帧的全景实景 图像数据与该帧所对应的地理信息数据按照连续的方式在数据采集存储器中分别进行存 储,并转存到数据管理后台的数据存储单元中;将在数据管理后台中数据存储单元所存储的每一帧图像数据的存盘路径与该帧 对应的地理信息数据建立关系表,将关系表存储于数据管理后台的数据库中。所述创建虚拟地面包括以下步骤在已经构建好的全景实景显示外幕所在的混杂现实空间中建立一个不可见面作 为虚拟地面;确定上述虚拟地面在混杂现实空间中的位置,以保证在全景实景显示外幕上显示 的图像与混杂现实空间的透视关系相一致。所述添加3D实体为将在混杂现实空间外部创建的3D实体模型导入到混杂现实空间中,即用户在混杂现实空间中的虚拟地面上漫游之前,将利用3D建模工具建立好的3D实体模型文件进行 数据存储,得到3D实体的原始数据,再将所述原始数据利用程序接口读入3D显示平台。或者所述添加3D实体为在混杂现实空间内部添加3D实体,即在数据管理后台的3D实体管理单元中先将 准备在混杂现实空间中绘制的3D实体的属性信息进行存储,当用户在混杂现实空间中漫 游到上述准备绘制的3D实体的地理位置时,数据管理后台将3D实体管理单元中在当前地 理位置的3D实体属性信息通过程序接口传输到3D显示平台,在3D显示平台中利用3D图 形程序接口绘制3D实体。所述在虚拟地面上进行漫游包括以下步骤对虚拟地面上的距离与现实世界中的实际距离关系进行标定,即对在混杂现实空 间中从用户视点到虚拟地面距离以及与实际拍摄中摄像机中心与地面实际距离进行测量, 这两个距离的比例作为混杂现实空间距离到实际距离转化标尺;在用户无法观察到用户自身的3D人物实体、但可以观察到其他用户的3D人物实 体的显示场景中进行第一视角漫游;或者在用户在混杂现实空间中能够完整观察到代表该 用户自身的实体、同时也能够观察到其他用户实体的显示场景中进行第三视角漫游。所述第一视角漫游为连续式漫游,具体为开始执行并初始化第一视角连续式漫游程序;从数据管理后台读取预选漫游路径的第一帧全景实景图像数据以及该全景实景 图像数据所对应的地理信息数据;在混杂现实空间中将全景实景图像纹理映射到场景显示外幕,GPS数据通过程序 接口传送到地理信息平台用于更新地理位置,并重置用户视点位置;判断当前显示在全景实景显示外幕上的全景实景图像是否到达结束帧;如果到达结束帧,则第一视角连续式漫游程序执行结束;如果没有到达结束帧,则3D显示平台开始向数据管理后台请求下一帧全景实景 图像数据以及该帧全景实景图像数据对应的地理信息数据,将新请求到的全景实景图像数 据纹理映射到场景显示外幕,并计算当前帧的地理信息数据与上一帧地理信息数据之间的 距离以及全景实景图像采集设备的旋转角;利用已经标定好的现实距离与混杂现实空间距离的对应关系,将视点连同全景实 景显示外幕移动到当前帧地理信息数据所对应的的混杂现实空间位置,同时地理信息数据 通过程序接口传送到地理信息平台更新地理位置;转至“在混杂现实空间中将全景实景图像纹理映射到场景显示外幕,地理信息数 据通过程序接口传送到地理信息平台用于更新地理位置,并重置用户视点位置”步骤。所述第一视角漫游为跳跃式漫游,具体为开始执行并初始化第一视角跳跃式漫游程序;通过点选在全景实景显示外幕内部的虚拟地面或3D建筑实体进行漫游,得到点 选位置在虚拟地面的坐标;视点中心在虚拟地面上的初始位置作为混杂现实空间的原点,获取与视点中心在 虚拟地面上的初始位置之间在现实世界中的实际距离和全景实景图像采集设备的旋转角, 计算出该初始位置的实际经纬度;
用户判断是否需要跳转至所选择的位置;如果需要跳转,则接续下一步骤;将计算求得的实际位置传送回数据管理后台,在数据库中查找与该位置最邻近的 全景实景图像信息的存盘路径,并在数据存储单元中将全景实景图像数据进行提取,传输 回3D显示平台,在新的位置上重新绘制全景实景显示外幕,同时在地理信息平台上更新用 户当前的地理位置;用户判断是否退出程序,如退出程序,则第一视角跳跃式漫游的程序结束;如不退出第一视角跳跃式漫游程序,则转至“视点中心在虚拟地面上的初始位置 作为混杂现实空间的原点,获取与视点中心在虚拟地面上的初始位置之间在现实世界中的 实际距离和全景实景图像采集设备的旋转角,计算出该初始位置的实际经纬度”步骤;如果不需要跳转至所选择的位置则转至“视点中心在虚拟地面上的初始位置作为 混杂现实空间的原点,获取与视点中心在虚拟地面上的初始位置之间在现实世界中的实际 距离和全景实景图像采集设备的旋转角,计算出该初始位置的实际经纬度”步骤。所述第三视角漫游包括以下步骤开始执行第三视角漫游程序;初始化第三视角漫游程序,对用户实体在当前帧场景所在虚拟地面位置的漫游范 围进行限定;操纵用户自身所对应的3D人物实体在当前帧所处的虚拟地面上开始漫游;当用户操纵3D人物实体远离初始位置时,计算3D人物实体当前所在位置与初始 位置在混杂现实空间中的距离以及相对于初始位置的全景实景图像采集设备的旋转角;用户判断其视点是否需要跳转至3D人物实体所处位置;当用户视点需要跳转至3D人物实体所处位置时,接续下一步骤;将计算得到的实际位置传送回数据管理后台,在数据库中查找与该位置最邻近的 全景实景图像信息的存盘路径,在数据存储单元中将全景实景图像数据进行提取,并将结 果传回至3D显示平台,在新的位置上进行绘制球形场景外幕,同时在地理信息平台上更新 用户当前的地理位置;用户判断是否退出程序,如退出程序,则第三视角漫游程序结束;如不退出第三视角漫游程序,则转至“当用户操纵3D人物实体远离初始位置时, 计算3D人物实体当前所在位置与初始位置在混杂现实空间中的距离以及相对于初始位置 的全景实景图像采集设备的旋转角”步骤;如果用户判断其视点不需要跳转至3D人物实体所处位置,则转至“当用户操纵3D 人物实体远离初始位置时,计算3D人物实体当前所在位置与初始位置在混杂现实空间中 的距离以及相对于初始位置的全景实景图像采集设备的旋转角”步骤。所述全景实景显示外幕采用球形、立方体形、圆柱体形、或其它封闭空间几何体。。与现有的技术相比,本发明有益效果如下本发明将基于图像绘制技术的虚拟现实系统与基于传统的3D建模技术的虚拟现 实系统进行有机结合,继承了全景实景图像在构建虚拟场景中具有高仿真度的优点,同时 也继承了 3D建模具有很强的立体感的优点,有效的解决了现存的虚拟现实系统中场景真 实感差,立体感不够强,内容不够丰富等问题,特别表现为1.仿真度高、场景构建真实,内容丰富。本发明不仅采用基于图像绘制技术将全景实景图像映射在场景显示外幕,而且利用3D建模方法,通过在混杂现实空间内部添加3D实 体,高效地建立了内容丰富的三维实景混杂现实空间。所构建的混杂现实空间具有高仿真 度,较强的层次感、立体感和沉浸感;并且用户能够以一种实体身份出现在虚拟空间中,这 种以现实场景的全景实景图像为背景,结合在混杂现实空间中嵌入3D实体的方法可以有 效的增强空间的沉浸感,层次感,立体感以及仿真度,这是目前所有现存的虚拟现实系统所 不具备的特点。2.本发明将基于全景实景的混杂现实空间与现实世界的二维地图(地理信息平 台)相结合,使用户在全景实景显示外幕为背景的混杂现实空间中漫游的同时,也在现实 世界的地图上漫游,实现了用户沉浸在现实世界的环境同时还能够了解自己当前所处的地 理位置,更增加了漫游的真实感。3.本发明将全景实景图像映射到场景显示外幕来创建现实世界场景,并在混杂现 实空间内部添加3D建模实体,这种方法为计算机模拟现实世界场景提供一条新的技术路 线,并且本发明的用户界面简洁友好,易于操作,信息量大。
图1为系统结构框图;图2A、2B为基于球形全景实景显示外幕的混杂现实空间结构示意图(一)、(二);图3第一视角连续式漫游程序流程图;图4第一视角跳跃式漫游的程序流程图;图5第三视角漫游的程序流程图。
具体实施例方式实施例1本发明方法通过将全景实景图像作为场景背景并将3D建模实体有机结合到全景 实景图像构建的场景中,这样的一种在场景内容上进行融合的计算机虚拟场景,称其为混 杂现实。本发明混杂现实平台构建方法建立在如图1所示的系统结构基础上,其系统结构 包括数据管理后台11由数据库12、数据存储单元13、3D实体管理单元14组成;应用程序 界面15由3D显示平台16和地理信息平台17组成。由应用程序界面15向数据管理后台11请求数据(包括全景实景图像数据和地理 信息数据),用于在混杂现实空间中的漫游。数据存储单元13是在数据管理后台11中预留出的磁盘空间用于存储预先准备好 的全景实景图像数据。本实施例中采用JPEG格式对全景实景图像数据进行保存。数据库12可采用SQL Server, Oracle或SyBase等实现。数据库12将预先准备 好的全景实景图像数据在数据管理后台11中的存盘路径与该帧全景实景图像数据对应的 地理信息数据一起存储。当应用程序界面15向数据管理后台11请求在混杂现实空间中漫 游时所需要的下一帧全景实景图像数据及其地理信息数据时,数据库12将通过该帧全景 实景图像数据的存盘路径在数据存储单元13找到对应的全景实景图像数据,以及该帧全 景实景图像数据存盘路径对应的地理信息数据,一并传回应用程序界面15。地理信息数据分为室内地理信息数据及室外地理信息数据,其中室内地理信息数据可利用激光传感器、 光电码盘或陀螺仪等装置进行采集,室外地理信息数据可采用GPS等装置进行采集;室内 外地理信息数据的获取也可统一采用对摄像机外参数进行标定的方法。本实施例仅利用GPS装置采集室外地理信息GPS数据。3D实体管理单元14用于存储用户所添加的3D实体所在经纬度位置、3D实体数据 以及该用户ID等数据信息,其中用户ID用于权限管理,只有添加3D实体的用户才有权限 将其添加的3D实体进行删除。3D显示平台16是利用OpenGL或Direct3D等3D图形程序接口将混杂现实空间在 MFC单文档程序界面的客户区进行显示。在3D显示平台16中构建将全景实景图像与3D实 体相结合的混杂现实空间。地理信息平台17以网页形式将电子地图嵌入应用程序界面15。电子地图可通过 网页程序与3D显示平台16中的数据接口函数获取用户当前漫游位置的地理信息数据。本实施例采用基于MFC单文档界面的应用程序界面15,在应用程序界面15中嵌入 3D显示平台16,并嵌入地理信息平台(本实施例采用电子地图)。本发明混杂现实平台构建方法,首先利用数据采集平台采集构建混杂现实平台所 需要的原始数据。数据采集平台由全景实景图像采集设备、地理信息采集设备(本实施例 采用GPS系统对室外地理信息数据进行采集)、数据采集控制程序以及数据采集存储器组 成。全景实景图像采集设备(如全景摄像头)负责采集全景实景图像数据;地理信息采集 设备对GPS数据进行采集;数据采集控制程序使用两个线程分别控制全景实景图像采集设 备与地理信息采集设备,并采用同一时钟频率信号对全景实景图像采集设备与地理信息采 集设备进行同步触发,将一帧的全景实景图像数据与该帧所对应的GPS数据按照连续的方 式分别在数据采集存储器中进行存储。将每一帧全景实景图像数据进行单独保存(比如存 为JPEG格式或BMP格式等,本具体实施例选用JPEG图像格式进行存储),最后存储于数据 管理后台11的数据存储单元13中;将在数据管理后台11中数据存储单元13所存储的每 一帧图像数据的存盘路径与该帧对应的GPS数据建立关系表,将该关系表存储于数据管理 后台11的数据库12中。于是,在数据库12中每帧全景实景图像的存盘路径与该帧全景实 景图像数据的GPS数据一一对应,通过每帧全景实景图像的存盘路径可以获得该帧全景实 景图像的数据以及它所对应的GPS数据。本发明全景实景混杂现实平台构建方法包括以下步骤1.在3D空间中创建球形全景实景显示外幕采用3D图形程序接口(如OpenGL或Direct3D等,本实施例采用OpenGL)创建混 杂现实空间的三维环境,并在该混杂现实空间的三维环境中绘制场景显示外幕(本实施例 的场景显示外幕采用球形场景显示外幕22);将采集到的全景实景图像数据从数据管理后 台11传送到3D显示平台16,采用3D图形程序接口中的纹理映射方法将全景实景图像数据 纹理映射到球形场景显示外幕22,可以得球形全景实景显示外幕;2.创建虚拟地面并添加3D实体上述虚拟地面在本实施例中的具体建立方法如下在已经构建好的球形全景实景显示外幕中建立虚拟地面21 虚拟地面21为一个 不可见面,在整个混杂现实空间中用于摆放3D建筑实体M或3D人物实体25等。
为了保证从用户视点上观测,3D建筑实体M与球形全景实景显示外幕上的图像 景物相对应,需要保证在球形全景实景显示外幕上显示的图像与混杂现实空间的透视关系 相一致。该透视关系由用户观察视点高度、虚拟地面位置以及球形全景实景显示外幕上图 像透视关系共同决定。本实施例在虚拟地面上绘制两条平行直线,与图像上公路两边直线 相对应。通过调节视点与虚拟地面的高度,当虚拟地面上的两条平行直线与公路直线相重 合时,表明透视关系标定成功,从而确定了虚拟地面的位置以及用户视点的位置。虚拟地面上的漫游方法如下首先要对虚拟地面上的距离与现实世界中的实际距离关系进行标定。对在混杂现 实空间中从用户视点到虚拟地面距离以及与实际拍摄中摄像机中心与地面实际距离进行 测量。这两个距离的比例即可作为混杂现实空间距离到实际距离转化标尺,该过程在初始 化步骤中完成。于是,虚拟地面上的每一个位置都对应着现实世界上的一个实际的经纬度。 用户漫游轨迹23如图2A所示。本发明提供了两种在混杂现实空间中的漫游模式第一视 角漫游与第三视角漫游。第一视角和第三视角在本发明中做如下定义第一视角指用户在 3D显示平台上所看到的显示场景即为用户用眼睛观察到的景象,用户无法看到自身的3D 人物实体,但可以看到其他用户的3D人物实体;第三视角指用户可以完整的看见空间中代 表该用户的自身的实体,也可以看见其他用户的实体,在用户实体移动时,用户视点可以跟 随用户操纵实体到达目标位置。a.第一视角漫游第一视角漫游分为两种漫游方法,一种是连续式漫游,另外一种是跳跃式漫游。a)连续式漫游连续式漫游是按照图像拍摄路径进行漫游。其中用户漫游的视点中心在虚拟地面 上的初始位置为混杂现实空间的原点。视点中心的初始位置与当前帧全景实景图像的实际 经纬度坐标相对应。视点的高度以在虚拟地面的位置确定步骤中标定好的位置为准。其程序流程如图3所示,具体方法如下(31,32)开始执行并初始化第一视角连续式漫游程序;(33)从数据管理后台11读取预选漫游路径的第一帧全景实景图像数据以及该全 景实景图像数据所对应的GPS数据;(34)在混杂现实空间中将全景实景图像纹理映射到球形全景实景显示外幕,GPS 数据通过程序接口传送到地理信息平台17用于更新地理位置,并重置用户视点位置;(35)在漫游过程判断当前显示在球形全景实景显示外幕上的全景实景图像是否 到达结束帧;如果全景图像到达结束帧,则第一视角跳跃式漫游的程序结束(37);否则转 至步骤(36);(36)3D显示平台16开始向数据管理后台11请求下一帧全景实景图像数据以及该 帧全景实景图像数据对应的GPS数据。将新请求到的全景实景图像数据纹理映射到球形全 景实景显示外幕,并计算当前帧GPS数据与上一帧GPS数据之间的距离以及摄像机旋转角 (摄像机旋转角可通过GPS数据,或者摄像机标定外参数获得,本实施例采用GPS数据获取 摄像机旋转角);利用已经标定好的现实世界中的距离与混杂现实空间中的距离之间的对应关系, 将视点连同球形全景实景显示外幕移动到当前帧GPS数据所对应的的混杂现实空间位置,同时GPS数据通过程序接口传送到地理信息平台更新地理位置,转至步骤(34)。b)跳跃式漫游跳跃式漫游可使用户在当前帧的球形全景实景显示外幕所覆盖的混杂现实空间 范围内,从规定的路径上任意选取下一步到达的位置,并在该位置显示其对应的全景实景 图像。跳跃式漫游在本实施例中的具体实现方法如图4所示。(41,42)开始执行并初始化第一视角跳跃式漫游程序;(43)通过点选在球形全景实景显示外幕内部的虚拟地面或3D建筑实体进行漫 游,即以点选方式获取希望到达位置的混杂现实空间坐标,将该混杂现实空间坐标投影到 虚拟地面上(如果直接选在虚拟地面上,则不需要进行投影),得到点选位置在虚拟地面上 的坐标;(44)视点中心在虚拟地面上的初始位置作为混杂现实空间的原点,获取与视点中 心在虚拟地面上的初始位置之间在现实世界中的实际距离和摄像机旋转角,计算出该位置 的实际经纬度;(45)用户判断是否需要跳转至所选择的位置;如果需要跳转,则接续步骤G6), 否则转至步骤G4);(46)将计算求得的实际地理位置传送回数据管理后台11,在数据库12中查找与 该地理位置最邻近的全景实景图像信息的存盘路径,并在数据存储单元13中将全景实景 图像数据进行提取,传输回3D显示平台16,在新的位置上重新绘制球形场景外幕,同时在 地理信息平台17上更新用户当前的地理位置;(47)用户判断是否退出程序,如退出程序,则第一视角跳跃式漫游的程序结束 (48);如不退出,则转至步骤(44)。b.第三视角漫游第三视角漫游在本实施例中的具体实现方法如图5所示。(51)开始执行第三视角漫游程序;(52)初始化第三视角漫游程序,对用户实体在当前帧场景所在虚拟地面位置的漫 游范围进行限定;本发明对漫游范围的形状没有特别规定,可以为圆形或矩形等形状的区域。本实 施例采用圆形区域,用户人物实体在当前帧漫游区域半径由球形场景外幕的半径决定,本 实施例中漫游区域半径为球形全景实景显示外幕半径的1/2左右。(53)操纵用户自身所对应的3D人物实体25在当前帧所处的虚拟地面21上开始 漫游(具体操纵方法属现有技术,在程序中体现)。由于虚拟地面21上的每一个点都代表 现实世界的实际经纬度坐标。因此该3D人物实体25在虚拟地面21上的漫游距离也同样 代表着与现实世界对应的实际距离。(54)当用户操纵3D人物实体25远离初始位置时,计算3D人物实体25当前所在 位置与初始位置在混杂现实空间中的距离,以及相对于初始位置的摄像机旋转角。将这个 混杂现实空间中的距离按照标定好的混杂现实空间与现实世界距离的转换关系进行转换, 得到在现实世界中3D人物实体25所在位置与该初始位置的距离。由于已知初始位置的经 纬度,可以利用已经得到的摄像机旋转角和两个位置之间的实际距离求得3D人物实体25 所在位置实际的经纬度坐标;
(55)用户判断其视点是否需要跳转至3D人物实体25所处位置;当用户视点需要 跳转至3D人物实体25所处位置时,接续步骤(56),否则转至步骤(54)(56)当用户视点需要跳转至3D人物实体25所处位置时,将计算得到的实际地理 位置传送回数据管理后台11,在数据库12中查找与该地理位置最邻近的全景实景图像信 息的存盘路径。在数据存储单元13中将全景实景图像数据进行提取,并将结果传回至3D 显示平台16,在新的位置上进行绘制球形场景外幕,同时在地理信息平台17上更新用户当 前的地理位置。(57)用户判断是否退出程序,如退出程序,则第三视角漫游程序结束(58);如不 退出,则转至步骤(54)。本实施例将3D显示平台16外部的3D实体(3D实体包括人物及除人物以外的各种 实体,如标识,建筑物等,下同)导入到3D显示平台中,具体导入方法如下将利用3D建模 工具(如MAYA或3DMax等3D建模软件)建立好的3D实体模型文件以如.3ds、. max或.ma 等文件格式进行存储,得到3D实体的原始数据(这些原始数据包括3D实体在空间中的点 和线的位置,以及表面贴图数据)。将这些点和线等的原始数据利用程序接口读入3D显示 平台16,实现3D实体的导入。在漫游过程中,3D实体在混杂现实空间中显示的范围由球形全景实景显示外幕的 半径大小决定。具体为,3D实体在虚拟地面的位置与当前帧球形全景实景显示外幕视点中 心位置的距离应小于球形全景实景显示外幕的半径,在这个范围内,3D实体在当前帧的混 杂现实空间中可见。3.将混杂现实空间与现实世界的地理信息数据(电子地图数据)同步用户在混杂现实空间的虚拟地面漫游时,随着漫游场景的改变,其地理位置也在 改变。将球形全景实景显示外幕当前帧图像所对应的现实世界的地理信息数据,即GPS数 据,通过3D显示平台16与地理信息平台17即电子地图之间的程序接口实时传递给事先准 备好的电子地图,在电子地图上标定并更新用户漫游的当前位置。混杂现实空间与电子地图数据同步的具体过程如下如图2B所示,地理信息平台17以二维电子地图沈形式嵌入应用程序界面15。二 维电子地图可通过网页形式的电子地图及3D显示平台16中的数据接口函数获取用户当前 漫游位置的GPS数据。利用二维电子地图的API函数通过已经获取的用户当前漫游位置的 GPS数据,在电子地图上用图标标定出该用户在地图上的地理位置27。上述过程中,二维电 子地图在电子地图沈中通过执行3D显示平台16的数据接口函数每隔500ms (该数值可以 根据实时性需要改变)进行一次数据获取,更新用户在电子地图上的地理位置27。实施例2与实施例1不同之处在于所述场景外幕的形状为立方体空间(正六面体)。在混杂现实空间中添加3D实体的方法是利用3D图形程序接口在混杂现实空间内 部创建3D实体,具体如下用户在漫游的过程中会在立方体全景实景显示外幕中观察到一些建筑物或场所, 而在真实场景中,许多建筑物、场所等并没有显著的识别标识。本实施例采用3D图形程序 接口在立方体全景实景显示外幕中添加3D实体,本实施例以虚拟标识牌为例,为用户解决13了在漫游混杂现实空间过程中景物识别的问题,具体实现方法为在数据管理后台11中的3D实体管理单元14中预先将3D虚拟标识牌的属性信息 (如在虚拟标识牌的所在现实世界经纬度信息,标识牌朝向角,标识牌的尺寸,样式,书写的 文字,字体等信息)进行存储。当用户在混杂现实空间中漫游到该地理位置时,数据管理后 台11将3D实体管理单元14中在当前地理位置的3D虚拟标识牌等3D实体信息通过程序 接口传输到3D显示平台16,在3D显示平台16中利用3D图形程序接口绘制虚拟标识牌,用 于指示场景中特定的建筑物或场所等。实施例3与实施例1不同之处在于所述场景外幕形状为圆柱体空间。在混杂现实空间内部添加3D实体的方法是利用3D图形程序接口在混杂现实空间 中创建3D实体,并将在3D显示平台16外部创建的3D实体模型导入混杂现实空间。本发明所述场景外幕结构还可以创建为其它封闭空间几何体。以上实施例仅供说明本发明,而非对本发明的限制,有关技术领域人员在不脱离 本发明的精神和范围的情况下,还可以做出各种变换和变形,因此所有等同变形的技术方 案也应该属于本发明权利要求保护的范畴之内。
权利要求
1.一种全景实景混杂现实平台构建方法,其特征在于包括以下步骤1)在3D空间中创建全景实景显示外幕采用3D图形程序接口创建混杂现实空间的三维环境,并在混杂现实空间的三维环境 中绘制场景显示外幕;将采集到的全景实景图像数据从数据管理后台传送到应用程序界面 中的3D显示平台,纹理映射到场景显示外幕表面,获得混杂现实空间中的全景实景显示外 幕;2)创建虚拟地面并添加3D实体在已经构建好的基于全景实景显示外幕的混杂现实空间中建立用于摆放3D实体的虚 拟地面,即把需要在当前基于全景实景显示外幕的混杂现实空间中显示的3D实体添加到 虚拟地面上,用户在混杂现实空间中创建好的虚拟地面上进行漫游;3)将混杂现实空间与现实世界的地理信息数据同步将基于全景实景显示外幕的混杂现实空间当前帧图像所对应的现实世界的地理信息 数据通过3D显示平台与地理信息平台之间的程序接口实时传递给事先准备好的地理信息 平台,在地理信息平台上标定并更新用户当前漫游的位置。
2.按权利要求1所述全景实景混杂现实平台构建方法,其特征在于所述混杂现实是 指通过将全景实景图像作为场景背景,并将3D建模实体有机结合到全景实景图像构建的 场景中,在场景内容上进行融合的计算机虚拟场景。
3.按权利要求1所述全景实景混杂现实平台构建方法,其特征在于所述全景实景图像 数据和地理信息数据的准备包括利用数据采集平台采集构建混杂现实平台所需要的原始数据,将一帧的全景实景图像 数据与该帧所对应的地理信息数据按照连续的方式在数据采集存储器中分别进行存储,并 转存到数据管理后台的数据存储单元中;将在数据管理后台中数据存储单元所存储的每一帧图像数据的存盘路径与该帧对应 的地理信息数据建立关系表,将关系表存储于数据管理后台的数据库中。
4.按权利要求1所述全景实景混杂现实平台构建方法,其特征在于所述创建虚拟地 面包括以下步骤在已经构建好的全景实景显示外幕所在的混杂现实空间中建立一个不可见面作为虚 拟地面;确定上述虚拟地面在混杂现实空间中的位置,以保证在全景实景显示外幕上显示的图 像与混杂现实空间的透视关系相一致。
5.按权利要求1所述全景实景混杂现实平台构建方法,其特征在于所述添加3D实体为将在混杂现实空间外部创建的3D实体模型导入到混杂现实空间中,即在混杂现实空 间中的虚拟地面上漫游之前,将利用3D建模工具建立好的3D实体模型文件进行数据存储, 得到3D实体的原始数据,再将所述原始数据利用程序接口读入3D显示平台。
6.按权利要求1所述全景实景混杂现实平台构建方法,其特征在于所述添加3D实体为在混杂现实空间内部添加3D实体,即在数据管理后台的3D实体管理单元中先将准备 在混杂现实空间中绘制的3D实体的属性信息进行存储,当用户在混杂现实空间中漫游到上述准备绘制的3D实体的地理位置时,数据管理后台将3D实体管理单元中在当前地理位 置的3D实体属性信息通过程序接口传输到3D显示平台,在3D显示平台中利用3D图形程 序接口绘制3D实体。
7.按权利要求1所述全景实景混杂现实平台构建方法,其特征在于所述在虚拟地面 上进行漫游包括以下步骤对虚拟地面上的距离与现实世界中的实际距离关系进行标定,即对在混杂现实空间中 从用户视点到虚拟地面距离以及全景实景图像采集设备的镜头主光轴到地面实际距离进 行测量,这两个距离的比例作为混杂现实空间距离到实际距离转化标尺;在用户不能观察到自身的3D人物实体的显示场景中进行第一视角漫游;或者在用户 能够完整观察到其自身3D人物实体的显示场景中进行第三视角漫游。
8.按权利要求6所述全景实景混杂现实平台构建方法,其特征在于所述第一视角漫 游为连续式漫游,具体为开始执行并初始化第一视角连续式漫游程序;从数据管理后台读取预选漫游路径的第一帧全景实景图像数据以及该全景实景图像 数据所对应的地理信息数据;在混杂现实空间中将全景实景图像纹理映射到场景显示外幕,GPS数据通过程序接口 传送到地理信息平台用于更新地理位置,并重置用户视点位置;判断当前显示在全景实景显示外幕上的全景实景图像是否到达结束帧; 如果到达结束帧,则第一视角连续式漫游程序执行结束;或者,如果没有到达结束帧,则3D显示平台开始向数据管理后台请求下一帧全景实景 图像数据以及该帧全景实景图像数据对应的地理信息数据,将新请求到的全景实景图像数 据纹理映射到场景显示外幕,并计算当前帧的地理信息数据与上一帧地理信息数据之间的 距离以及全景实景图像采集设备的旋转角;利用已经标定好的现实距离与混杂现实空间距离的对应关系,将视点连同全景实景显 示外幕移动到当前帧地理信息数据所对应的的混杂现实空间位置,同时地理信息数据通过 程序接口传送到地理信息平台更新地理位置;转至“在混杂现实空间中将全景实景图像纹理映射到场景显示外幕,地理信息数据通 过程序接口传送到地理信息平台用于更新地理位置,并重置用户视点位置”步骤。
9.按权利要求7所述全景实景混杂现实平台构建方法,其特征在于所述第一视角漫 游为跳跃式漫游,具体为开始执行并初始化第一视角跳跃式漫游程序;通过点选在全景实景显示外幕内部的虚拟地面或3D建筑实体进行漫游,得到点选位 置在虚拟地面的坐标;视点中心在虚拟地面上的初始位置作为混杂现实空间的原点,获取与视点中心在虚拟 地面上的初始位置之间在现实世界中的实际距离和全景实景图像采集设备的旋转角,计算 出该初始位置的实际经纬度;用户判断是否需要跳转至所选择的位置;如果需要跳转,则接续下一步骤; 将计算求得的实际位置传送回数据管理后台,在数据库中查找与该位置最邻近的全景 实景图像信息的存盘路径,并在数据存储单元中将全景实景图像数据进行提取,传输回3D显示平台,在新的位置上重新绘制全景实景显示外幕,同时在地理信息平台上更新用户当 前的地理位置;用户判断是否退出程序,如退出程序,则第一视角跳跃式漫游的程序结束; 或者,如不退出第一视角跳跃式漫游程序,则转至“视点中心在虚拟地面上的初始位置 作为混杂现实空间的原点,获取与视点中心在虚拟地面上的初始位置之间在现实世界中的 实际距离和全景实景图像采集设备的旋转角,计算出该初始位置的实际经纬度”步骤;或者,如果不需要跳转至所选择的位置则转至“视点中心在虚拟地面上的初始位置作 为混杂现实空间的原点,获取与视点中心在虚拟地面上的初始位置之间在现实世界中的实 际距离和全景实景图像采集设备的旋转角,计算出该初始位置的实际经纬度”步骤。
10.按权利要求7所述全景实景混杂现实平台构建方法,其特征在于所述第三视角漫 游包括以下步骤开始执行第三视角漫游程序;初始化第三视角漫游程序,对用户实体在当前帧场景所在虚拟地面位置的漫游范围进 行限定;操纵用户自身所对应的3D人物实体在当前帧所处的虚拟地面上开始漫游; 当用户操纵3D人物实体远离初始位置时,计算3D人物实体当前所在位置与初始位置 在混杂现实空间中的距离以及相对于初始位置的全景实景图像采集设备的旋转角; 用户判断其视点是否需要跳转至3D人物实体所处位置; 当用户视点需要跳转至3D人物实体所处位置时,接续下一步骤; 将计算得到的实际位置传送回数据管理后台,在数据库中查找与该位置最邻近的全景 实景图像信息的存盘路径,在数据存储单元中将全景实景图像数据进行提取,并将结果传 回至3D显示平台,在新的位置上进行绘制球形场景外幕,同时在地理信息平台上更新用户 当前的地理位置;用户判断是否退出程序,如退出程序,则第三视角漫游程序结束; 或者,如不退出第三视角漫游程序,则转至“当用户操纵3D人物实体远离初始位置时, 计算3D人物实体当前所在位置与初始位置在混杂现实空间中的距离以及相对于初始位置 的全景实景图像采集设备的旋转角”步骤;或者,如果用户判断其视点不需要跳转至3D人物实体所处位置,则转至“当用户操纵 3D人物实体远离初始位置时,计算3D人物实体当前所在位置与初始位置在混杂现实空间 中的距离以及相对于初始位置的全景实景图像采集设备的旋转角”步骤。
11.按权利要求1所述全景实景混杂现实平台构建方法,其特征在于所述全景实景显 示外幕采用球形、立方体形、圆柱体形。
全文摘要
本发明公开一种全景实景混杂现实平台构建方法,具体为采集构建混杂现实平台所需要的全景图像数据、地理信息数据等原始数据,存储于数据管理后台的数据存储单元中;然后通过创建混杂现实全景实景显示外幕、创建虚拟地面并添加3D实体构建基于全景图像的混杂现实空间;最后,将所述混杂现实空间与现实世界的地理信息同步。本发明将真实场景与3D实体在虚拟空间中进行了有机结合,使用户在混杂现实空间中漫游时具有强烈的空间真实感和沉浸感。
文档编号G06T13/20GK102054290SQ20091021961
公开日2011年5月11日 申请日期2009年11月4日 优先权日2009年11月4日
发明者佟国峰, 刘晓龙, 邵振洲 申请人:沈阳隆惠科技有限公司