人体姿态与虚拟场景叠加的方法、装置和系统与流程

文档序号:12461451阅读:715来源:国知局
人体姿态与虚拟场景叠加的方法、装置和系统与流程

本发明涉及虚拟现实领域,特别是指一种人体姿态与虚拟场景叠加的方法、装置和系统。



背景技术:

虚拟现实(VR,Virtual Reality)技术是一种可以创建和体验虚拟世界的计算机仿真系统。它利用计算机生成一种模拟环境,是一种多源信息融合的交互式的三维动态视景和实体行为的系统仿真使用户沉浸到该环境中。

体感游戏(英文:Motion Sensing Game),用身体去感受的电子游戏。突破以往单纯以手柄按键输入的操作方式,体感游戏是一种通过肢体动作变化来进行操作的新型电子游戏。

目前在虚拟现实设备(VR设备)上只能进行简单的体感游戏,无法识别复杂的人体动作。



技术实现要素:

本发明提供一种人体姿态与虚拟场景叠加的方法、装置和系统,本发明用于进行体感游戏,丰富虚拟现实领域应用和游戏的趣味性,并且本发明能够识别复杂的人体动作,降低了网络延迟,实时性好。

为解决上述技术问题,本发明提供技术方案如下:

一方面,本发明提供一种人体姿态与虚拟场景叠加的方法,包括:

步骤100:获取体感设备采集到的人体姿态数据;

步骤200:将所述人体姿态数据整理为人体关键点数据;

步骤300:将所述人体关键点数据转换为一个字符串;

步骤400:将所述字符串发送到VR设备,以使所述VR设备将所述字符串解析为所述人体关键点数据,并同步至虚拟人物上。

进一步的,所述人体关键点数据数量为25个,包括全身基本点、脊椎中心点、脖子、头部、左肩膀、左肘、左手腕、左手、右肩膀、右肘、右手腕、右手、左臀、左膝盖、左踝、左脚、右臀、右膝盖、右踝、右脚、肩膀中心点、左手腕、左手指、右手腕、右手指。

进一步的,所述字符串包括人体在世界坐标系下的位置数据、人体关键点的位置数据、人体手部的位置数据。

进一步的,所述步骤400中,使用Socket技术将所述字符串发送到所述VR设备。

另一方面,本发明提供一种服务端,所述服务端包括:

人体姿态数据获取模块,用于获取体感设备采集到的人体姿态数据;

人体姿态数据整理模块,用于将所述人体姿态数据整理为人体关键点数据;

人体关键点数据转换模块,用于将所述人体关键点数据转换为一个字符串;

字符串发送模块,用于将所述字符串发送到VR设备,以使所述VR设备将所述字符串解析为所述人体关键点数据,并同步至虚拟人物上。

进一步的,所述人体关键点数据数量为25个,包括全身基本点、脊椎中心点、脖子、头部、左肩膀、左肘、左手腕、左手、右肩膀、右肘、右手腕、右手、左臀、左膝盖、左踝、左脚、右臀、右膝盖、右踝、右脚、肩膀中心点、左手腕、左手指、右手腕、右手指。

进一步的,所述字符串包括人体在世界坐标系下的位置数据、人体关键点的位置数据、人体手部的位置数据。

进一步的,所述字符串发送模块中,使用Socket技术将所述字符串发送到所述VR设备。

再一方面,本发明提供一种人体姿态与虚拟场景叠加的系统,包括体感设备、VR设备和上述的服务端,其中:

所述体感设备与所述服务端连接,所述服务端与VR设备通过无线网络连接。

本发明具有以下有益效果:

本发明的人体姿态与虚拟场景叠加的方法利用网络通信的机制,将VR设备和服务器之间建立一个局域网,体感设备连接至服务端并进行输入数据采集,同时服务端再将采集到的数据通过局域网发送至VR设备,最后VR设备对采集到的数据进行同步展现和更新,控制虚拟人物的动作,与虚拟场景进行叠加,并与场景中的元素进行互动,丰富虚拟现实领域应用和游戏的趣味性。

并且本发明使用人体关键点数据模拟人体的姿态,能够识别复杂的人体动作,另外,本发明将人体关键点数据转换为字符串进行传输,提高了传输效率,降低了网络延迟,实时性好。

附图说明

图1为本发明的应用场景示意图;

图2为本发明的人体姿态与虚拟场景叠加的方法示意图;

图3为本发明的服务端的示意图;

图4为本发明的人体姿态与虚拟场景叠加的系统示意图。

具体实施方式

为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。

本发明适用于在VR设备上进行体感游戏的场景,其中,体感设备与服务端相连,服务端与VR设备通过网络相连,如图1所示。本发明中所述的服务端既可以是服务器,也可以是PC机,体感设备是指能够采集人体姿态数据的设备,如体感摄影机等,网络连接优选为无线网络连接,VR设备指安卓或者IOS端设备(包含手机、内置处理芯片的VR一体机头显等类似设备等,本发明和均用VR设备表述)。

一方面,本发明提供一种人体姿态与虚拟场景叠加的方法,本发明的方法应用在服务端,如图2所示,包括:

步骤100:获取体感设备采集到的人体姿态数据。

本步骤中,体感设备,优选为3D体感摄影机,它能够实现即时动态捕捉、影像辨识、麦克风输入、语音辨识、社群互动等功能。体感设备采集人体姿态数据,并将其发送到服务端。

步骤200:将人体姿态数据整理为人体关键点数据。

体感设备采集的人体姿态数据的数据量比较庞大繁杂,不利于传输及使用,需要进行检测、筛选过滤,然后整理为人体关键点数据,人体关键点数据可以很好地模拟人体姿态。

步骤300:将人体关键点数据转换为一个字符串。

人体关键点数据的数据格式不利于网络传输,为了提高传输效率,可以将其按照一定规则整理成一个字符串。

步骤400:将字符串发送到VR设备,以使VR设备将字符串解析为人体关键点数据,并同步至虚拟人物上。

VR设备接收到字符串后,重新解析为人体关键点数据,同步至虚拟场景中的虚拟人物上,使虚拟人物做出相应的动作(即外界人体的动作)。在虚拟场景中,虚拟人物可以和场景中的元素进行互动,达到人体姿态和虚拟场景进行叠加的目的。

本发明的人体姿态与虚拟场景叠加的方法利用网络通信的机制,将VR设备和服务器之间建立一个局域网,体感设备连接至服务端并进行输入数据采集,同时服务端再将采集到的数据通过局域网发送至VR设备,最后VR设备对采集到的数据进行同步展现和更新,控制虚拟人物的动作,与虚拟场景进行叠加,并与场景中的元素进行互动,丰富虚拟现实领域应用和游戏的趣味性。

并且本发明使用人体关键点数据模拟人体的姿态,能够识别复杂的人体动作,另外,本发明将人体关键点数据转换为字符串进行传输,提高了传输效率,降低了网络延迟,实时性好。

为了更好地表征人体姿态,人体关键点数据数量为25个,包括全身基本点、脊椎中心点、脖子、头部、左肩膀、左肘、左手腕、左手、右肩膀、右肘、右手腕、右手、左臀、左膝盖、左踝、左脚、右臀、右膝盖、右踝、右脚、肩膀中心点、左手腕、左手指、右手腕、右手指。上述25个关键点主要是人体关节点或骨骼结构,25个关键点(关节点、骨骼结构)可以模拟出人体的绝大部分肢体动作和形态。

前述的字符串可以有多种数据格式,优选的,字符串包括当前帧人体在世界坐标系下的位置数据、当前帧人体25个关键点的位置数据、当前帧人体手部的位置数据。其中将手部的数据单独发送是为了做手势识别方便。世界坐标系,即以人物所在位置为坐标原点,其它物体相对于该点的相对位置。

数据格式如下:

km,1.000,0.000,0.000,0.000,0.000,1.000,0.000,1.000,0.000,0.000,1.000,0.000,0.000,0.000,0.000,1.000|

kb,26300644264040000,6,25,0,0,0,0,0,0|

kh,26300644264040000,6,0,0,0,0,0,0

其中km行表示当前帧人体在世界坐标系下的位置数据;kb行表示当前帧人体25个关键点的位置数据;kh行表示当前帧人体手部的位置数据。

为了进一步提高数据传输的实时性,步骤400中,使用Socket技术将字符串发送到VR设备。

Socket,作为BSD UNIX的进程通信机制,通常也称作套接字,用于描述IP地址和端口,是一个通信链的句柄,可以用来实现不同虚拟机或不同计算机之间的通信。

本发明基于上述原理,可以在Unity引擎中使用UNet技术进行实现字符串的发送。

UNet是Unity3D中的一个网络通信模块,底层基于Socket技术,对其进行封装,使用Unet及高层次的API,可以非常方便的建立一个基于网络的通信环境。

Unity3D是由Unity Technologies开发的一个让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。

UNet使用UDP协议实现的P2P数据同步。其中,UDP协议全称是用户数据报协议,在网络中它与TCP协议一样用于处理数据包,是一种无连接的协议。它具有资源消耗小,处理速度快的优点,即使偶尔丢失一两个数据包,也不会对接收结果产生太大影响。

本发明使用Unet通信技术,使得本发明的延迟性低、实时性好。

当然,也可以使用Unreal、CryEngine等引擎,其网络通信模块底层也是基于Socket技术。

另一方面,本发明提供一种服务端(人体姿态与虚拟场景叠加的装置)1,如图3所示,服务端包括:

人体姿态数据获取模块11,用于获取体感设备采集到的人体姿态数据。

人体姿态数据整理模块12,用于将人体姿态数据整理为人体关键点数据。

人体关键点数据转换模块13,用于将人体关键点数据转换为一个字符串。

字符串发送模块14,用于将字符串发送到VR设备,以使VR设备将字符串解析为人体关键点数据,并同步至虚拟人物上。

本发明的人体姿态与虚拟场景叠加的方法利用网络通信的机制,将VR设备和服务器之间建立一个局域网,体感设备连接至服务端并进行输入数据采集,同时服务端再将采集到的数据通过局域网发送至VR设备,最后VR设备对采集到的数据进行同步展现和更新,控制虚拟人物的动作,与虚拟场景进行叠加,并与场景中的元素进行互动,丰富虚拟现实领域应用和游戏的趣味性。

并且本发明使用人体关键点数据模拟人体的姿态,能够识别复杂的人体动作,另外,本发明将人体关键点数据转换为字符串进行传输,提高了传输效率,降低了网络延迟,实时性好。

为了更好地表征人体姿态,人体关键点数据数量为25个,包括全身基本点、脊椎中心点、脖子、头部、左肩膀、左肘、左手腕、左手、右肩膀、右肘、右手腕、右手、左臀、左膝盖、左踝、左脚、右臀、右膝盖、右踝、右脚、肩膀中心点、左手腕、左手指、右手腕、右手指。上述25个关键点主要是人体关节点或骨骼结构,25个关键点(关节点、骨骼结构)可以模拟出人体的绝大部分肢体动作和形态。

前述的字符串可以有多种数据格式,优选的,字符串包括人体在世界坐标系下的位置数据、人体关键点的位置数据、人体手部的位置数据。

为了进一步提高数据传输的实时性,字符串发送模块中,使用Socket技术将字符串发送到VR设备。本发明使用Unet通信技术,使得本发明的延迟性低、实时性好。

再一方面,本发明提供一种人体姿态与虚拟场景叠加的系统,如图4所示,包括体感设备2、VR设备3和上述的服务端1,其中:

体感设备2与服务端1连接,服务端1与VR设备3通过无线网络连接。

本发明的人体姿态与虚拟场景叠加的方法利用网络通信的机制,将VR设备和服务器之间建立一个局域网,体感设备连接至服务端并进行输入数据采集,同时服务端再将采集到的数据通过局域网发送至VR设备,最后VR设备对采集到的数据进行同步展现和更新,控制虚拟人物的动作,与虚拟场景进行叠加,并与场景中的元素进行互动,丰富虚拟现实领域应用和游戏的趣味性。

并且本发明使用人体关键点数据模拟人体的姿态,能够识别复杂的人体动作,另外,本发明将人体关键点数据转换为字符串进行传输,提高了传输效率,降低了网络延迟,实时性好。

以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1