一种向上层引擎提供骨骼点数据的方法及系统技术方案

技术编号:29492524 阅读:65 留言:0更新日期:2021-07-30 19:04
本申请实施例提供一种向上层引擎提供骨骼点数据的方法及系统,通过单目摄像头实现视频图像数据的采集,以价格相对便宜的单目摄像头替代价格相对昂贵的双目或深度摄像头,可有效降低成本;通过目标卷积神经网络从采集的视频图像中推理出2D骨骼关键点,并通过一维卷积神经网络做实时3D坐标变换,从而将2D骨骼关键点变换为3D骨骼关键点,整个计算过程,即便是中低端配置的设备也可以满足处理计算需求,从而使中低端配置玩家也能顺畅地进行游戏,本方案具有实时性、鲁棒性、流畅、平滑等体验优势;由于管道接口模块的设置,使得与体感游戏的引擎模块接口之间打通,实现了跨操作系统的融合。

【技术实现步骤摘要】
一种向上层引擎提供骨骼点数据的方法及系统
本申请涉及数据处理
,具体的,涉及一种向上层引擎提供骨骼点数据的方法及系统。
技术介绍
目前的体感游戏主要有可穿戴设备体感游戏和基于双目或深度摄像头(如Kinect、RealSense)的体感游戏,这类游戏对摄像头硬件依赖较强,而体感摄像头设备普遍比较昂贵,对于玩家的消费水平要求较高;而且,体感摄像头对硬件性能依赖较高,如Kinect3.0需要很强大的GPU算力,普通CPU无法做到实时处理,且Kinect3.0适配大型游戏引擎(如unity3D、ue4),需要较多的计算资源,中低端配置的设备往往无法满足其要求,致使中低端配置玩家的游戏流畅体验不佳。
技术实现思路
本申请实施例提供了一种向上层引擎提供骨骼点数据的方法及系统,以解决现有体感游戏的摄像头成本高、中低端配置玩家体验不佳的问题。第一方面,本申请实施例提供一种向上层引擎提供骨骼点数据的方法,包括:获取单目摄像头实时采集的视频图像;通过目标卷积神经网络推理出所述视频图像的2D骨骼关键点序列;通过一维卷积神经网络将2D骨骼关键点序列转换为3D骨骼关键点序列;将获得的3D骨骼关键点序列发送给上层引擎模块。可选的,在将获得的3D骨骼关键点序列发送给上层引擎模块之前,所述方法还包括:通过扩展卡尔曼滤波器对所述3D骨骼关键点序列进行平滑滤波处理。可选的,所述将获得的3D骨骼关键点序列发送给上层引擎模块,包括:将获得的3D骨骼关键点序列进行CPP封装;通过CPP语言调用预设的上层语言,将所述3D骨骼关键点序列存入所述上层语言的数据结构中,以供相应的上层引擎模块调用所述数据结构中的3D骨骼关键点序列。可选的,所述将获得的3D骨骼关键点序列发送给上层引擎模块,包括:通过网络通信单元将所述3D骨骼关键点序列发送给上层引擎模块。可选的,所述一维卷积神经网络包括:依次连接的前N个一维卷积层、后N个一维卷积层以及全连接层;其中,后N个一维卷积层中的第n个一维卷积层的输入为前一卷积层的输出与前N个一维卷积层中第(N-n+1)个一维卷积层的输出的叠加。第二方面,本申请实施例提供一种向上层引擎提供骨骼点数据的系统,包括:数据采集单元,用于获取单目摄像头实时采集的视频图像;图像实时处理单元,用于通过目标卷积神经网络推理出所述视频图像的2D骨骼关键点序列,并通过一维卷积神经网络将2D骨骼关键点序列转换为3D骨骼关键点序列;管道接口模块,用于将获得的3D骨骼关键点序列发送给上层引擎模块。可选的,所述装置还包括:滤波单元,用于通过卡尔曼滤波器对所述3D骨骼关键点序列进行平滑滤波处理,将经平滑滤波处理后的3D骨骼关键点序列输出给管道接口单元。可选的,管道接口模块包括:进程管道单元,用于将第一进程获得的3D骨骼关键点序列传输至第二进程;其中,所述第一进程用于通过数据采集单元和图像实时处理单元获得3D骨骼关键点序列,所述第二进程用于获取进程管道单元提供的3D骨骼关键点序列,并通过管道接口模块将获得的3D骨骼关键点序列发送给上层引擎模块。可选的,管道接口模块包括代码钩子引擎接口单元,用于:将获得的3D骨骼关键点序列进行CPP封装;通过CPP语言调用预设的上层语言,将所述3D骨骼关键点序列存入所述上层语言的数据结构中,以供相应的上层引擎模块调用所述数据结构中的3D骨骼关键点序列。可选的,管道接口模块包括网络通信单元,用于将所述3D骨骼关键点序列发送给上层引擎模块。相比现有技术,本技术方案具有如下技术效果:通过单目摄像头实现视频图像数据的采集,以价格相对便宜的单目摄像头替代价格相对昂贵的双目或深度摄像头,可有效降低成本;通过目标卷积神经网络从采集的视频图像中推理出2D骨骼关键点,并通过一维卷积神经网络做实时3D坐标变换,从而将2D骨骼关键点变换为3D骨骼关键点,整个计算过程,即便是中低端配置的设备也可以满足处理计算需求,从而使中低端配置玩家也能顺畅地进行游戏;由于管道接口模块的设置,使得与体感游戏的引擎模块接口之间打通,实现了跨操作系统的融合。附图说明此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:图1示出了本申请实施例提供的向上层引擎提供骨骼点数据的方法的流程图;图2示出了本申请实施例中一维卷积神经网络的示意图;图3示出了本申请实施例中代码桥接管道技术的实施示意图;图4示出了本申请实施例提供的向上层引擎提供骨骼点数据的系统的示意图。具体实施方式以下结合附图对本申请的示例性实施例进行详细说明,显然,所描述的实施例仅是本申请的一部分实施例,而不是所有实施例的穷举。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。本申请实施例提供一种向上层引擎提供骨骼点数据的方法,图1示出了该方法的流程图。以下步骤S110至S140由一电子设备执行,该电子设备通过USB或串口等方式连接单目摄像头,电子设备可以为PC终端、智能手机或者安卓系统开发板等设备。如图1所示,该方法包括:S110、获取单目摄像头实时采集的视频图像。单目摄像头实时采集视频图像,并将采集的视频图像实时传输至该设备。S120、通过目标卷积神经网络推理出视频图像的2D骨骼关键点序列。通过目标卷积神经网络对视频图像进行推理,以识别出视频图像中的骨骼关键点,获得2D骨骼关键点序列。在本实施例中,目标卷积神经网络为轻量级卷积神经网络。S130、通过一维卷积神经网络将2D骨骼关键点序列转换为3D骨骼关键点序列。通过一维卷积神经网络进行实时3D坐标变换,以将2D骨骼关键点坐标转换为3D骨骼关键点坐标。图2示出了本实施例中一维卷积神经网络的示意图。该一维卷积神经网络包括:依次连接的前N个一维卷积层、后N个一维卷积层以及全连接层;其中,后N个一维卷积层中的第n个一维卷积层的输入为前一卷积层的输出与前N个一维卷积层中第(N-n+1)个一维卷积层的输出的叠加。在图2中,一维卷积神经网络共有六个一维卷积层和一个全连接层,示例性地,每个一维卷积层的卷积核大小为8*1。一维卷积神经网络的处理过程为:2D骨骼关键点序列为一维的坐标序列,假设识别出16个骨骼关键点坐标,则2D骨骼关键点序列的大小为32*1。首先,将2D骨骼关键点序列输入至第一个一维卷积层进行卷积运算,输出大小为256*1*12的特征图A1。进一步的,特征图A1输入至第二个一维卷积层进行卷积运算,输出大小为128*1*24的特征图A2。进一步的,特征图A2输入至第三个一维卷积层进行卷积运算,输出大小为64*1*36的特征图A3。进一步的,特征图A3输入至第四个一维卷积层进行卷积运算,输出大小为64*1*36的特征图A4。进一步的,特征图A4与特征图A2叠加后作为第五个一维卷积层的输入,第本文档来自技高网...

【技术保护点】
1.一种向上层引擎提供骨骼点数据的方法,其特征在于,包括:/n获取单目摄像头实时采集的视频图像;/n通过目标卷积神经网络推理出所述视频图像的2D骨骼关键点序列;/n通过一维卷积神经网络将2D骨骼关键点序列转换为3D骨骼关键点序列;/n将获得的3D骨骼关键点序列发送给上层引擎模块。/n

【技术特征摘要】
1.一种向上层引擎提供骨骼点数据的方法,其特征在于,包括:
获取单目摄像头实时采集的视频图像;
通过目标卷积神经网络推理出所述视频图像的2D骨骼关键点序列;
通过一维卷积神经网络将2D骨骼关键点序列转换为3D骨骼关键点序列;
将获得的3D骨骼关键点序列发送给上层引擎模块。


2.根据权利要求1所述的方法,其特征在于,在将获得的3D骨骼关键点序列发送给上层引擎模块之前,所述方法还包括:
通过扩展卡尔曼滤波器对所述3D骨骼关键点序列进行平滑滤波处理。


3.根据权利要求1所述的方法,其特征在于,所述将获得的3D骨骼关键点序列发送给上层引擎模块,包括:
将获得的3D骨骼关键点序列进行CPP封装;
通过CPP语言调用预设的上层语言,将所述3D骨骼关键点序列存入所述上层语言的数据结构中,以供相应的上层引擎模块调用所述数据结构中的3D骨骼关键点序列。


4.根据权利要求1所述的方法,其特征在于,所述将获得的3D骨骼关键点序列发送给上层引擎模块,包括:
通过网络通信单元将所述3D骨骼关键点序列发送给上层引擎模块。


5.根据权利要求1-4任一项所述的方法,其特征在于,所述一维卷积神经网络包括:依次连接的前N个一维卷积层、后N个一维卷积层以及全连接层;其中,后N个一维卷积层中的第n个一维卷积层的输入为前一卷积层的输出与前N个一维卷积层中第(N-n+1)个一维卷积层的输出的叠加。


6.一种向上层引擎提供骨骼点数...

【专利技术属性】
技术研发人员:张哲为顾友良丁博文程煜均
申请(专利权)人:广州紫为云科技有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1