本发明涉及漫游系统领域,具体涉及一种基于kinect的室内可扩展交互漫游实现方法及系统。
背景技术:
针对房地产客户,即有置业意向的消费者,让客户可以看到未能交付使用的房屋成型后的内部情况,见证未来自己的住房内部结构,在打造一种全新的体验的同时,增加互动元素和可扩展元素,让房地产商可以通过用户使用过程中得到的数据,分析出客户居家的偏好,增加客户黏性,增大购买倾向,最终实现成功的交易,这种交易方式是未来的趋势。
近年来,随着kinect技术的发展,沉浸式的kinect头戴显示器(下称“头显”)慢慢进入人们的视线。有不少开发商制作了一些有趣的产品,如虚拟环球旅行,带着头显就可以看到法国的埃菲尔铁塔,或是埃及的金字塔,让你足不出屋就可以看到国外的美景。
但是,这类产品具有以下缺陷:
第一,可交互性,有些产品通过技术手段将影视信息转换为3d信号交给头显来输出,内容是固定的,用户只能被动的接受。
第二,自由度较差,如上面所说的虚拟环球旅行,看到的画面是制作好的景观图像,只能切换场景或是切换观看角度,没有太多的扩展性。
技术实现要素:
本发明的目的是提供一种基于kinect的室内可扩展交互漫游实现方法及系统,具有交互性好、自由度高等优点。
本发明的目的是通过以下技术方案来实现:
一种基于kinect的室内可扩展交互漫游实现方法,包括以下步骤:
d、在3d引擎中搭建与头显设备交互的环境;
e、将3d场景模型导入3d引擎,进行3d场景搭建,在头显设备中显示该3d场景;
f、在3d场景中创建移动路径及位于移动路径上的虚拟点;
d、使用kinect传感器获取人体肢体的目标骨骼点位置信息,kinect将目标骨骼点位置信息的序列帧按照时间顺序上传给动作识别模块;
e、动作识别模块追踪目标骨骼点位置信息的变化,访问动作指令数据库,判定虚拟动作指令;
f、虚拟动作指令控制虚拟点移动。
在优选的实施方案中,所述在3d场景中创建移动路径的具体步骤为:
在3d场景中建立二维坐标系,将二维坐标系中移动路径覆盖的坐标组成路径坐标集合,路径坐标集合内按照顺序排列包含起始坐标、路径坐标及终点坐标,所述虚拟点的坐标位于路径坐标集合内。
在优选的实施方案中,kinect传感器获取人体肢体的骨骼点位置信息,从中提取目标骨骼点在kinect坐标系中的坐标数据,并添加时间标记,kinect将带有时间标记的坐标数据按照时间顺序上传给动作识别模块。
在优选的实施方案中,动作识别模块将相邻序列帧的坐标数据做矢量差计算,得到相邻序列帧内坐标位移方向及坐标位移距离。
在优选的实施方案中,所述判断虚拟动作指令的方法为分别根据坐标位移方向及坐标位移距离访问动作指令库,若坐标位移方向及坐标位移距离均满足同一个动作指令的设定,则返回该动作指令;或者,至少两个骨骼坐标的相对位置组合及经过的时间标记均满足动作指令的设定,则返回该动作指令。
在优选的实施方案中,在场景中设置虚拟控制盘,虚拟控制盘上设有方向光标,当虚拟动作指令触发时虚拟控制盘上显示与所述虚拟动作指令相同方向的方向光标。
一种室内可扩展交互漫游系统,包括以下模块:
3d引擎,用于导入3d场景模型,进行3d场景搭建,并在3d场景模型中创建移动路径及位于移动路径上的虚拟点;
头显设备,用于显示所述3d场景;
3d场景数据库,用于储存3d场景及该3d场景的移动路径;
动作指令数据库,用于储存虚拟动作指令;
kinect,用于获取人体肢体的目标骨骼点位置信息,将目标骨骼点位置信息的序列帧按照时间顺序上传给动作识别模块;
动作识别模块,用于追踪目标骨骼点位置信息的变化,根据该变化访问动作指令数据库,判定虚拟动作指令,根据虚拟动作指令控制虚拟点移动。
在优选的实施方案中,所述3d引擎在场景中设置虚拟控制盘,所述虚拟控制盘上设有方向光标,用于当虚拟动作指令触发时虚拟控制盘上显示与所述虚拟动作指令相同方向的方向光标。
本发明的有益效果为:
1、本发明可为用户提供身临其境的体验感,采用3d引擎渲染,将头显与引擎的交互,通过头显设备显示3d场景,实现用户沉浸式的房屋室内漫游体感,让用户看到未来的景观,获得前所未有的体验感,可观察每个房间并按照偏好对房屋内饰、家具、电器等进行个性化修改;
2、本发明相对于传统产品以固定一个点看或是从一个点跳到另一个点去看的方式,利用体感设备获取人体动作或状态信息,以控制虚拟图像的变换与移动,在3d场景中设置移动路径,实现虚拟图像的连续切换,使用户有更强的身临其境的感觉。
附图说明
下面根据附图对本发明作进一步详细说明。
图1是本发明实施例所述的基于kinect的室内可扩展交互漫游实现方法的步骤流程图;
图2是本发明实施例所述的基于kinect的室内可扩展交互漫游系统的系统结构图。
图中:
1、3d引擎;2、头显设备;3、3d场景数据库;4、动作指令数据库;5、kinect;6、动作识别模块;7、虚拟控制盘。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
下面将参照附图和具体实施例对本发明作进一步的说明。
如图1所示,本发明实施例的一种基于kinect5的室内可扩展交互漫游实现方法,包括以下步骤:
在3d引擎1中搭建与头显设备2交互的环境;
将3d场景模型导入3d引擎1,进行3d场景搭建,在头显设备2中显示该3d场景;
在3d场景中创建移动路径及沿着移动路径移动的虚拟点;
使用kinect5传感器获取人体肢体的目标骨骼点位置信息,kinect5将目标骨骼点位置信息的序列帧按照时间顺序上传给动作识别模块6;
动作识别模块6追踪目标骨骼点位置信息的变化,访问动作指令数据库4,判定虚拟动作指令;
虚拟动作指令控制虚拟点移动。
在3d引擎1中搭建与头显设备2交互的环境,头显设备2接收3d引擎1发送的控制信息,从场景数据库中提取相对应的3d场景模型,切换相对应的3d场景模型,3d场景模型之间通过标签与控制信息进行匹配。
将3d场景模型导入3d引擎1,进行场景搭建,在头显设备2中显示该3d场景,所述在3d场景中创建移动路径的具体步骤为:
在每个搭建好的3d场景中建立二维坐标系,并在二维坐标系中添加移动路径,移动路径根据3d场景特点制定,每个3d场景的移动路径不同,将移动路径所覆盖的坐标组成路径坐标集合,路径坐标集合内包含起始坐标、路径坐标及终点坐标,起始坐标、路径坐标及终点坐标按顺序排列,所述虚拟点的坐标位于路径坐标集合内,路径坐标的依顺序切换,实现虚拟点的坐标移动。
使用kinect5传感器获取人体肢体的目标骨骼点位置信息,kinect5将目标骨骼点位置信息的序列帧按照时间顺序上传给动作识别模块6,具体步骤为:
kinect5传感器获取人体肢体的骨骼点位置信息,从中提取目标骨骼点在kinect5坐标系中的坐标数据,并添加时间标记,kinect5将带有时间标记的坐标数据按照时间标记顺序上传给动作识别模块6。
动作识别模块6将相邻时间标记的坐标数据做矢量差计算,例如坐标a(5、6)与坐标a1(6,7)为同一路径的相邻时间标记的两个坐标,a1为a的后一时间标记的坐标位,坐标a1减去坐标a后其x值相对值与y相对值通过勾股定理计算出坐标位移距离d;坐标位移方向根据x相对值与y相对值的正负值,以前一坐标a为象限中心,形成a坐标系,根据x相对值与y相对值的正负值,可推断出a1位于a坐标系的那一项限内,从而得到从a到a1的坐标位移方向及坐标位移距离。
所述判断虚拟动作指令的方法为分别根据坐标位移方向及坐标位移距离访问动作指令库,若坐标位移方向及坐标位移距离均满足同一个动作指令的设定,则返回该动作指令;或者,至少两组骨骼坐标的相对位置组合及经过的时间标记均满足动作指令的设定,则返回该动作指令。
其具体为动作指令分为两种,前者为手势,后者为姿势。
1、手势例子:
获取右手骨骼点位置坐标,坐标移动方向为向左,坐标移动距离为400,即为定义了一个右手向左挥的动作,可以控制虚拟点向左移动。
获取右手骨骼点位置坐标,坐标移动方向为向前,坐标移动距离为100,即为定义了一个右手向前按的动作,可以控制虚拟点在当前位置点击。
2、姿势例子:
获取右手与左手的骨骼点位置坐标,时间标记间隔为500,右手在右肩正下方,左手在左肩左斜下方,右手与左手的骨骼点位置坐标的夹角为135°,以夹角圆心为原点建立坐标系,右手骨骼点坐标位于圆心坐标系的y轴上,左手骨骼点坐标位于圆心坐标系的第一象限内,持续4个时间标记间隔(时间为2000毫秒),左手与右手的坐标位移距离为0,返回动作指令为退出程序。
在场景中设置虚拟控制盘7,虚拟控制盘7上设有方向光标,当虚拟动作指令触发时虚拟控制盘7上显示与所述虚拟动作指令相同方向的方向光标,例如虚拟点向左移动,虚拟控制键盘上的左向按键点亮;虚拟点在当前位置点击,虚拟控制键盘的中心按键点亮。
如图2所示,一种室内可扩展交互漫游系统,包括以下模块:
3d引擎1,用于导入3d场景模型,进行3d场景搭建,并在3d场景模型中创建移动路径及位于移动路径上的虚拟点;
头显设备2,用于显示所述3d场景;
3d场景数据库3,用于储存3d场景及该3d场景的移动路径;
动作指令数据库4,用于储存虚拟动作指令;
kinect5,用于获取人体肢体的目标骨骼点位置信息,将目标骨骼点位置信息的序列帧按照时间顺序上传给动作识别模块6;
动作识别模块6,用于追踪目标骨骼点位置信息的变化,根据该变化访问动作指令数据库4,判定虚拟动作指令,根据虚拟动作指令控制虚拟点移动。
所述3d引擎1在场景中设置虚拟控制盘7,所述虚拟控制盘7上设有方向光标,用于当虚拟动作指令触发时虚拟控制盘7上显示与所述虚拟动作指令相同方向的方向光标。
本发明不局限于上述最佳实施方式,任何人在本发明的启示下都可得出其他各种形式的产品,但不论在其形状或结构上作任何变化,凡是具有与本申请相同或相近似的技术方案,均落在本发明的保护范围之内。