发明内容
本发明的目的在于克服现有技术的不足,提供一种将现实进行虚拟实现的方法,将虚拟现实的世界与现实中真实的世界进行关联。
本发明的目的是通过以下技术方案来实现的:一种将现实进行虚拟实现的方法,它包括场景数据采集与上传步骤、数据下载步骤、场景映射步骤、定位步骤、运动方式映射步骤、特定信息出发步骤和授权步骤;
所述的场景数据采集与上传步骤包括:用户事先对待虚拟成像的现实的实体对象进行数据采集,采集完成之后上传至云服务器进行保存;
所述的数据下载步骤包括:用户通过虚拟现实终端在云服务器中对对应的场景数据进行下载;
所述的场景映射步骤用于对下载的数据的虚拟场景以及用户周围的区域在虚拟现实终端进行虚拟现实显示,包括用于将虚拟的网络元素与现实的实体对象显示于地理信息***之中形成复合空间的第一场景映射子步骤和用于将周围场景映射为虚拟场景的第二场景映射步骤;
所述的地理信息***包括三维电子地图,所述的第一场景映射子步骤包括以下子步骤:
S111:将所述的网络元素进行GIS化,所述的网络元素为不存在于现实中的虚拟物体;
S112:将所述的复合空间进行三维可视化;
S113:虚拟现实终端呈现三维可视化后的复合空间和虚拟物***置;
所述的第二场景映射步骤包括以下子步骤:
S121:通过现实场景传感模块捕获用户周边环境的现实场景信息;
S122:计算处理模块从所述的现实场景信息中提取出现实场景特征,基于预先设定的映射关系,将所述的现实场景特征映射为用于构建虚拟场景的特征,并基于所述用于构建虚拟场景的特征构建虚拟现实场景信息;
S123:虚拟现实终端呈现所述虚拟现实场景信息;
所述的定位步骤包括:
S21:初始化室内参考点,载入数据库中参考点信息;
S22:设置队列和滤波器参数,采集WIFI信号数据到队列;
S23:利用采集的数据队列,计算当前位置上各个AP对应的RSSI均值;
S24:遍历所有参考点,根据步骤S23计算的RSSI均值是否在所对应AP关于某参考点的RSSI区间之内,判断该参考点是否在对应AP的判断集中;
S25:求各个AP判断集的交集:
(1)若交集中只有一个参考点,将该参考点坐标作为算法的估计输出,并结束;
(2)若交集中不止一个参考点,则计算RSSI误差向量,根据误差对交集中的参考点排序,并选择其中误差最小的k个点,以加权k近邻算法计算估计结果,并结束;
(3)若交集为空集,计算各个判断集的中心,并将这些集中心的中心作为全局中心,利用欧拉距离排除中心距全局中心最远的判断集,并对剩余的判断集作步骤S25中子步骤(1)、子步骤(2)和子步骤(3)的交集运算,直到得到估计结果,并结束;若执行到最后一层仍得不到结果,执行子步骤(4);
(4)若子步骤(3)执行到最后一层时,交集仍为空集,则利用当前RSSI均值与参考点RSSI均值间的误差距离,根据RSSI误差最小原则,利用加权k近邻算法计算估计结果;
S26:将定位信息与三维可视化后的复合空间进行映射,在复合空间中显示当前定位信息;
所述的运动方式定位步骤包括以下子步骤:
S31:在人身关节处设置多个与虚拟现实终端关联的传感组件;
S32:各个传感组件的信息实时发送至虚拟现实终端;
S33:虚拟现实终端接收到信息之后进行解析,并呈现在所述虚拟现实场景信息中;
所述的特定信息触发步骤包括:当用户到达特定区域,虚拟现实终端触发特定消息,其中所述的到达特定区域的判断通过定位判断或者通过虚拟现实终端出现的图像帧中包含预设的指定信息;
所述的特定物件为实体物体,所述的特定物件定位步骤包括:
S41:在特定物件上设置定位模块;
S42:根据步骤S21~步骤S26的方法将特定物件在复合空间中显示;
所述的授权步骤包括:在服务器对虚拟现实终端授权后,多个虚拟现实终端出现在同一个复合空间中,即用户的虚拟现实终端显示多个其他用户的虚拟现实终端的定位信息。
所述的虚拟现实终端为虚拟现实头盔或者移动终端。
所述的定位步骤还包括一个离线训练步骤:
S201:离散化待定位区域,在待定位区域中均匀的取N个位置作为参考点;
S202:在每个步骤S201所述的参考点扫描WIFI信号,记录连续一段时间内各个AP的接收信号强度指示值RSSI;
S203:处理步骤202中所得的RSSI向量,计算各个AP在该参考点的RSSI均值、方差以及最大最小区间,将这些参数连同对应AP的标识SSID一起保存到数据库中;
S204:对所有的参考点进行S203和步骤S204操作,直到所有的参考点都训练完毕,从而建立待定位区域完整的RSSI分布地图。
所述的三维可视化后的复合空间为建筑的三维视图。
所述的虚拟现实终端呈现三维可视化后的复合空间的视角可调整。
步骤S121中所述的捕获用户周边环境的现实场景信息为捕获用户周边环境图像的时序列帧数据;所述的计算处理模块从所述的现实场景信息中提取出现实场景特征对所述时序列帧数据进行模式识别分析,以提取出现实场景特征。
所述的现实场景传感模块包括:深度摄像传感器、深度摄像传感器与RGB摄像传感器的结合实体、超声波定位传感模块、热成像定位传感模块和电磁定位传感模块中的一种或者多种的组合。
所述的传感组件包括三轴加速度传感器、三轴角速度传感器、三轴地磁传感器的一种或者多种。
所述的特定信息触发步骤包括如下子步骤:
S41:判断当前游戏图像帧中是否包含目标人物的指定信息;
S42:若当前游戏图像帧中包含所述目标人物的指定信息,获取所述指定信息的显示位置;
S43:基于当前游戏图像帧中所述指定信息的显示位置,添加指定动画。
所述的特定物件定位步骤还包括一个子步骤S43:当用户携带所述特定物件并且移动时,在复合空间中进行显示;其中,判断人物携带特定物件的步骤包括判断设置于手部的传感器与特定物件的相对位置的距离是否在一段时间内保持在一定范围内。
本发明的有益效果是:
本发明将虚拟实现的世界与真实世界进行关联,通过定位在虚拟实现的世界的小地图进行实时显示,同时用户可以实时观察到自己的行为动作。同时,采用云技术,事先将场景数据进行采集保存在云服务器中,需要使用的虚拟现实终端只用下载即可。
具体地,采用小地图的方式将真实世界的建筑进行三维视图的展示,并且与定位相关联,形象直观;采用应用现实场景传感技术以及相应的运算处理技术理解分析现实环境,将现实环境中的一些特征映射到展现给用户的虚拟场景中,从而提高了用户体验;并且,其中的定位方式实现移动目标(人、设备)的定位和三维位置显示,为虚拟现实终端的基于位置服务应用提供坐标估计,具备较高的精度和较低的延时(延时可以通过扫描周期来间接设置);另外,云服务器还提供更新推送功能,提高可靠性;本发明还包括一个特定信息触发,当用户移动到特定范围时可以触发特定信息;同时,本发明还将现实世界的物体与虚拟现实进行关联显示,以及多个虚拟现实终端进行显示的功能。
具体实施方式
下面结合附图进一步详细描述本发明的技术方案:
如图1所示,一种将现实进行虚拟实现的方法,它包括场景数据采集与上传步骤、数据下载步骤、场景映射步骤、定位步骤、运动方式映射步骤、特定信息触发步骤、特定物件定位步骤和授权步骤;
所述的场景数据采集与上传步骤包括:用户事先对待虚拟成像的现实的实体对象进行数据采集,采集完成之后上传至云服务器进行保存;
所述的数据下载步骤包括:用户通过虚拟现实终端在云服务器中对对应的场景数据进行下载;
所述的场景映射步骤用于对下载的数据的虚拟场景以及用户周围的区域在虚拟现实终端进行虚拟现实显示,包括用于将虚拟的网络元素与现实的实体对象显示于地理信息***之中形成复合空间的第一场景映射子步骤和用于将周围场景映射为虚拟场景的第二场景映射步骤;
所述的地理信息***包括三维电子地图,所述的第一场景映射子步骤包括以下子步骤:
S111:将所述的网络元素进行GIS化,所述的网络元素为不存在于现实中的虚拟物体;
S112:将所述的复合空间进行三维可视化;
S113:虚拟现实终端呈现三维可视化后的复合空间和虚拟物***置;
所述的第二场景映射步骤包括以下子步骤:
S121:通过现实场景传感模块捕获用户周边环境的现实场景信息;
S122:计算处理模块从所述的现实场景信息中提取出现实场景特征,基于预先设定的映射关系,将所述的现实场景特征映射为用于构建虚拟场景的特征,并基于所述用于构建虚拟场景的特征构建虚拟现实场景信息;
S123:虚拟现实终端呈现所述虚拟现实场景信息;
所述的定位步骤包括:
S21:初始化室内参考点,载入数据库中参考点信息;
S22:设置队列和滤波器参数,采集WIFI信号数据到队列;
S23:利用采集的数据队列,计算当前位置上各个AP对应的RSSI均值;
S24:遍历所有参考点,根据步骤S23计算的RSSI均值是否在所对应AP关于某参考点的RSSI区间之内,判断该参考点是否在对应AP的判断集中;
S25:求各个AP判断集的交集:
(1)若交集中只有一个参考点,将该参考点坐标作为算法的估计输出,并结束;
(2)若交集中不止一个参考点,则计算RSSI误差向量,根据误差对交集中的参考点排序,并选择其中误差最小的k个点,以加权k近邻算法计算估计结果,并结束;
(3)若交集为空集,计算各个判断集的中心,并将这些集中心的中心作为全局中心,利用欧拉距离排除中心距全局中心最远的判断集,并对剩余的判断集作步骤S25中子步骤(1)、子步骤(2)和子步骤(3)的交集运算,直到得到估计结果,并结束;若执行到最后一层仍得不到结果,执行子步骤(4);
(4)若子步骤(3)执行到最后一层时,交集仍为空集,则利用当前RSSI均值与参考点RSSI均值间的误差距离,根据RSSI误差最小原则,利用加权k近邻算法计算估计结果;
S26:将定位信息与三维可视化后的复合空间进行映射,在复合空间中显示当前定位信息;
所述的运动方式定位步骤包括以下子步骤:
S31:在人身关节处设置多个与虚拟现实终端关联的传感组件;
S32:各个传感组件的信息实时发送至虚拟现实终端;
S33:虚拟现实终端接收到信息之后进行解析,并呈现在所述虚拟现实场景信息中;
所述的特定信息触发步骤包括:当用户到达特定区域,虚拟现实终端触发特定消息,其中所述的到达特定区域的判断通过定位判断或者通过虚拟现实终端出现的图像帧中包含预设的指定信息;
所述的特定物件为实体物体,所述的特定物件定位步骤包括:
S41:在特定物件上设置定位模块;
S42:根据步骤S21~步骤S26的方法将特定物件在复合空间中显示;
所述的授权步骤包括:在服务器对虚拟现实终端授权后,多个虚拟现实终端出现在同一个复合空间中,即用户的虚拟现实终端显示多个其他用户的虚拟现实终端的定位信息。
所述的虚拟现实终端为虚拟现实头盔或者移动终端。
所述的定位步骤还包括一个离线训练步骤:
S201:离散化待定位区域,在待定位区域中均匀的取N个位置作为参考点;
S202:在每个步骤S201所述的参考点扫描WIFI信号,记录连续一段时间内各个AP的接收信号强度指示值RSSI;
S203:处理步骤202中所得的RSSI向量,计算各个AP在该参考点的RSSI均值、方差以及最大最小区间,将这些参数连同对应AP的标识SSID一起保存到数据库中;
S204:对所有的参考点进行S203和步骤S204操作,直到所有的参考点都训练完毕,从而建立待定位区域完整的RSSI分布地图。
所述的三维可视化后的复合空间为建筑的三维视图。
所述的虚拟现实终端呈现三维可视化后的复合空间的视角可调整。
步骤S121中所述的捕获用户周边环境的现实场景信息为捕获用户周边环境图像的时序列帧数据;所述的计算处理模块从所述的现实场景信息中提取出现实场景特征对所述时序列帧数据进行模式识别分析,以提取出现实场景特征。
所述的现实场景传感模块包括:深度摄像传感器、深度摄像传感器与RGB摄像传感器的结合实体、超声波定位传感模块、热成像定位传感模块和电磁定位传感模块中的一种或者多种的组合。
所述的传感组件包括三轴加速度传感器、三轴角速度传感器、三轴地磁传感器的一种或者多种。
当云服务器中某个场景的数据进行更新时,向下载过该场景的虚拟现实终端推送消息,提醒所述虚拟现实终端进行更新。
所述的特定信息触发步骤包括如下子步骤:
S41:判断当前游戏图像帧中是否包含目标人物的指定信息;
S42:若当前游戏图像帧中包含所述目标人物的指定信息,获取所述指定信息的显示位置;
S43:基于当前游戏图像帧中所述指定信息的显示位置,添加指定动画。
本实施例为应用于商场活动,某商场举行活动,需要使用到虚拟现实,用户需要通过本发明的方法寻找到特定位置的特定物件。比如,寻找虚拟NPC等。
第一步,用户事先对待虚拟成像的现实的实体对象进行数据采集,采集完成之后上传至云服务器进行保存;所述的数据下载步骤包括:用户通过虚拟现实终端在云服务器中对对应的场景数据进行下载。当云服务器中某个场景的数据进行更新时,向下载过该场景的虚拟现实终端推送消息,提醒所述虚拟现实终端进行更新。
第二步,用户获取第一场景映射,即整个商场的形状以及楼层以及虚拟NPC的特定位置。
S111:将网络元素进行GIS化,所述的网络元素为不存在于现实中的虚拟物体,在本实施例中的网络元素即为虚拟NPC;
S112:将所述的复合空间进行三维可视化,即获取整个商场的形状以及楼层,也可以包括商场外部的部分地形;
S113:虚拟现实终端呈现三维可视化后的整个商场的形状以及楼层和虚拟NPC在商场中的某个位置,在本实施例中通过小地图的方式实现(即在虚拟现实终端中占据的画面为一个角落)。
所述的虚拟现实终端呈现三维可视化后的复合空间的视角可调整。
第三步,用户获取第二场景映射,即获取周围环境的虚拟现实信息。
S121:通过现实场景传感模块捕获用户周边环境的现实场景信息;
S122:计算处理模块从所述的现实场景信息中提取出现实场景特征,基于预先设定的映射关系,将所述的现实场景特征映射为用于构建虚拟场景的特征,并基于所述用于构建虚拟场景的特征构建虚拟现实场景信息;
S123:虚拟现实终端呈现所述虚拟现实场景信息,在本实施例中,通过虚拟动画的形式进行实现并占据整个画面除小地图部分外的所有画面。
其中,步骤S121中所述的捕获用户周边环境的现实场景信息为捕获用户周边环境图像的时序列帧数据;所述的计算处理模块从所述的现实场景信息中提取出现实场景特征对所述时序列帧数据进行模式识别分析,以提取出现实场景特征。
第四步,用户对自己进行定位。
所述的定位步骤包括:
S21:初始化室内参考点,载入数据库中参考点信息;
S22:设置队列和滤波器参数,采集WIFI信号数据到队列;
S23:利用采集的数据队列,计算当前位置上各个AP对应的RSSI均值;
S24:遍历所有参考点,根据步骤S23计算的RSSI均值是否在所对应AP关于某参考点的RSSI区间之内,判断该参考点是否在对应AP的判断集中;
S25:求各个AP判断集的交集:
(1)若交集中只有一个参考点,将该参考点坐标作为算法的估计输出,并结束;
(2)若交集中不止一个参考点,则计算RSSI误差向量,根据误差对交集中的参考点排序,并选择其中误差最小的k个点,以加权k近邻算法计算估计结果,并结束;
(3)若交集为空集,计算各个判断集的中心,并将这些集中心的中心作为全局中心,利用欧拉距离排除中心距全局中心最远的判断集,并对剩余的判断集作步骤S25中子步骤(1)、子步骤(2)和子步骤(3)的交集运算,直到得到估计结果,并结束;若执行到最后一层仍得不到结果,执行子步骤(4);
(4)若子步骤(3)执行到最后一层时,交集仍为空集,则利用当前RSSI均值与参考点RSSI均值间的误差距离,根据RSSI误差最小原则,利用加权k近邻算法计算估计结果;
S26:将定位信息与三维可视化后的复合空间进行映射,在复合空间中显示当前定位信息。即用户将自己定位位置在小地图中进行实时显示。
其中,所述的数据库需要一个离线训练步骤:
S201:离散化待定位区域,在待定位区域中均匀的取N个位置作为参考点;
S202:在每个步骤S201所述的参考点扫描WIFI信号,记录连续一段时间内各个AP的接收信号强度指示值RSSI;
S203:处理步骤202中所得的RSSI向量,计算各个AP在该参考点的RSSI均值、方差以及最大最小区间,将这些参数连同对应AP的标识SSID一起保存到数据库中;
S204:对所有的参考点进行S203和步骤S204操作,直到所有的参考点都训练完毕,从而建立待定位区域完整的RSSI分布地图。
第五步,需要实时将自己的运动方式在复合空间中体现:
S31:在人身关节处设置多个与虚拟现实终端关联的传感组件;
S32:各个传感组件的信息实时发送至虚拟现实终端;
S33:虚拟现实终端接收到信息之后进行解析,并呈现在所述虚拟现实场景信息中。
所述的传感组件包括三轴加速度传感器、三轴角速度传感器、三轴地磁传感器的一种或者多种。
此时用户的动作可以在虚拟现实场景信息中进行体现。
第六步,还包括一个对实体物体进行定位的步骤。
所述的特定物件为实体物体,所述的特定物件定位步骤包括:
S41:在特定物件上设置定位模块;
S42:根据步骤S21~步骤S26的方法将特定物件在复合空间中显示。
当上述都完成之后,用户可以开始进行向虚拟NPC处移动。
其中,当用户与虚拟NPC处接近时,会进行动画的播放。
当用户到达特定区域,虚拟现实终端触发特定消息,其中所述的到达特定区域的判断通过定位判断或者通过虚拟现实终端出现的图像帧中包含预设的指定信息。
所述的特定信息触发步骤包括如下子步骤:
S41:判断当前游戏图像帧中是否包含目标人物的指定信息;
S42:若当前游戏图像帧中包含所述目标人物的指定信息,获取所述指定信息的显示位置;
S43:基于当前游戏图像帧中所述指定信息的显示位置,添加指定动画。
用户在使用之前还可以向服务器提出授权请求,当服务器授权之后,用户的虚拟现实终端显示多个其他授权用户的虚拟现实终端的定位信息。
所述的授权步骤包括:在服务器对虚拟现实终端授权后,多个虚拟现实终端出现在同一个复合空间中,即用户的虚拟现实终端显示多个其他用户的虚拟现实终端的定位信息。
在本实施例中,所述的虚拟现实终端为虚拟现实头盔或者移动终端。具体选择根据商家的成本进行考量。
如果采用虚拟现实头盔,需要采购专用的设备,但是效果更佳。用户可戴上虚拟现实头盔进行虚拟NPC寻找。并且此种方法适用于人员较少的情况下。
如果是采用移动终端,比如手机或者平板电脑,则需要安装相应的软件,方便快捷但是效果相对于采用虚拟现实头盔的方法来说较差。此种方法适用于人员较多的情况下。