本公开实施例涉及数据识别,尤其涉及一种基于vr云渲染的手势识别方法、系统、设备及介质。
背景技术:
1、目前,虚拟现实(vr)技术通过创造计算机生成的模拟环境,为用户提供沉浸式体验。然而,当前的可穿戴vr设备受限于硬件性能,常面临算力不足的瓶颈。云渲染技术利用云端强大的服务器资源执行渲染任务,有效缓解了本地硬件压力。但在手势识别方面,如何将本地手势数据高效、实时地传输至云端,并确保数据无缝融入云端场景逻辑中,成为亟待解决的技术挑战。现有云渲染方案如英伟达的cloudxr,虽侧重渲染任务的云端处理,但并未直接涵盖远端手势识别的完整解决方案。
2、可见,亟需一种能提高数据传输效率和精准度的基于vr云渲染的手势识别方法。
技术实现思路
1、有鉴于此,本公开实施例提供一种基于vr云渲染的手势识别方法、系统、设备及介质,至少部分解决现有技术中存在数据传输效率和精准度较差的问题。
2、第一方面,本公开实施例提供了一种基于vr云渲染的手势识别方法,包括:
3、步骤1,本地端接收来自手势捕捉设备的实时手势数据,其中,所述实时手势数据包括手的根节点的位置和旋转角度;
4、步骤2,根据网络拥塞情况动态调整差值数据发送间隔和压缩字节长度,并将其发送给云端;
5、步骤3,获取预设周期内的实时手势数据,计算动态缩放因子;
6、步骤4,根据动态缩放因子和压缩字节长度对实时手势数据进行压缩;
7、步骤5,根据预设的传输架构发送压缩后的实时手势数据到云端;
8、步骤6,云端接收压缩后的实时手势数据,根据动态缩放因子和压缩字节长度还原手势数据,并将其广播至目标模块。
9、根据本公开实施例的一种具体实现方式,所述步骤2具体包括:
10、获取当前网络拥堵状态并将其与预设阈值进行对比;
11、若当前网络拥堵状态大于预设阈值,则判定其为高拥堵状态,将差值数据发送间隔和压缩字节长度调整为预设最小值;
12、若当前网络拥堵状态小于或等于预设阈值,则判定其为低拥堵状态,将差值数据发送间隔和压缩字节长度调整为预设最大值;
13、将调整后的差值数据发送间隔和压缩字节长度发送给云端。
14、根据本公开实施例的一种具体实现方式,所述步骤3具体包括:
15、步骤3.1,遍历目标周期内的手势数据,计算相邻帧中位置和旋转角度的差值;
16、步骤3.2,选择差值中的最大值z;
17、步骤3.3,根据压缩字节长度计算当前字节长度能表达的整数数值范围[-a,a];
18、步骤3.4,计算动态缩放因子,其中,所述动态缩放因子的表达式为
19、dynamicscalefactor=|a|/(z*t)
20、其中,t为冗余常量因子。
21、根据本公开实施例的一种具体实现方式,所述步骤4具体包括:
22、步骤4.1,将实时手势数据的根节点从世界坐标转换到观察坐标,并重新赋值;
23、步骤4.2,根据动态缩放因子将重新赋值后的实时手势数据中的坐标分量进行缩放并四舍五入为整数;
24、步骤4.3,根据压缩字节长度对每个坐标分量调用预设编码函数进行编码;
25、步骤4.4,将编码后的字节数组存入新数组。
26、根据本公开实施例的一种具体实现方式,所述步骤4.3具体包括:
27、步骤4.3.1,检查坐标分量的字节长度是否为2或3,如果不是则抛出异常;
28、步骤4.3.2,根据字节长度分配字节数组bytes;
29、步骤4.3.3,对于2字节坐标分量,将整数转换为短整类型,将短整值的高8位和低8位分别存入bytes[0]和bytes[1];
30、步骤4.3.4,对于3字节坐标分量,操作整数的低24位,存入bytes[0]、bytes[1]和bytes[2]。
31、根据本公开实施例的一种具体实现方式,所述步骤6具体包括:
32、步骤6.1,云端对压缩后的实时手势数据中的每个字节数组调用预设解码函数进行解码;
33、步骤6.2,将解码后的整数除以动态缩放因子得到坐标分量;
34、步骤6.3,创建并返回新的手势数据;
35、步骤6.4,将新的手势数据从观察坐标转换回世界坐标并重新赋值,然后广播给驱动骨骼动画的xrhandskeletondriver和驱动网格渲染的xrhandmeshcontroller,从而更新云端虚拟环境中的手势动作。
36、根据本公开实施例的一种具体实现方式,所述步骤6.1具体包括:
37、步骤6.1.1,检查字节长度是否为2或3,如果不是则抛出异常;
38、步骤6.1.2,根据字节长度解码字节数组;
39、步骤6.1.3,对于2字节的字节数组,将bytes[0]左移8位,然后与bytes[1]进行按位或操作,组合成16位整数;
40、步骤6.1.4,对于3字节的字节数组,组合为24位值并进行符号扩展到32位,将bytes[0]左移16位,bytes[1]左移8位,然后与bytes[2]进行按位或操作,组合成24位值。
41、第二方面,本公开实施例提供了一种基于vr云渲染的手势识别系统,包括:
42、接收模块,用于本地端接收来自手势捕捉设备的实时手势数据,其中,所述实时手势数据包括手的根节点的位置和旋转角度;
43、调整模块,用于根据网络拥塞情况动态调整差值数据发送间隔和压缩字节长度,并将其发送给云端;
44、计算模块,用于获取预设周期内的实时手势数据,计算动态缩放因子;
45、压缩模块,用于根据动态缩放因子和压缩字节长度对实时手势数据进行压缩;
46、传输模块,用于根据预设的传输架构发送压缩后的实时手势数据到云端;
47、解压模块,用于云端接收压缩后的实时手势数据,根据动态缩放因子和压缩字节长度还原手势数据,并将其广播至目标模块。
48、第三方面,本公开实施例还提供了一种电子设备,该电子设备包括:
49、至少一个处理器;以及,
50、与该至少一个处理器通信连接的存储器;其中,
51、该存储器存储有可被该至少一个处理器执行的指令,该指令被该至少一个处理器执行,以使该至少一个处理器能够执行前述第一方面或第一方面的任一实现方式中的基于vr云渲染的手势识别方法。
52、第四方面,本公开实施例还提供了一种非暂态计算机可读存储介质,该非暂态计算机可读存储介质存储计算机指令,该计算机指令用于使该计算机执行前述第一方面或第一方面的任一实现方式中的基于vr云渲染的手势识别方法。
53、第五方面,本公开实施例还提供了一种计算机程序产品,该计算机程序产品包括存储在非暂态计算机可读存储介质上的计算程序,该计算机程序包括程序指令,当该程序指令被计算机执行时,使该计算机执行前述第一方面或第一方面的任一实现方式中的基于vr云渲染的手势识别方法。
54、本公开实施例中的基于vr云渲染的手势识别方案,包括:步骤1,本地端接收来自手势捕捉设备的实时手势数据,其中,所述实时手势数据包括手的根节点的位置和旋转角度;步骤2,根据网络拥塞情况动态调整差值数据发送间隔和压缩字节长度,并将其发送给云端;步骤3,获取预设周期内的实时手势数据,计算动态缩放因子;步骤4,根据动态缩放因子和压缩字节长度对实时手势数据进行压缩;步骤5,根据预设的传输架构发送压缩后的实时手势数据到云端;步骤6,云端接收压缩后的实时手势数据,根据动态缩放因子和压缩字节长度还原手势数据,并将其广播至目标模块。
55、本公开实施例的有益效果为:通过本公开的方案,通过精确的坐标空间转换和高效的数据传输架构,显著提升了vr应用中的手势识别精度和用户交互流畅度,增强了沉浸感;降低了开发和部署成本,提高了系统的可维护性和可扩展性;动态因子调整的数据压缩算法能够根据网络条件动态调整压缩性能和数据精确度,确保在不同网络环境下都能保持最佳的数据传输效率和用户体验;上层应用无需关心手势数据的具体来源和处理过程,降低了开发难度和复杂度。
1.一种基于vr云渲染的手势识别方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述步骤2具体包括:
3.根据权利要求2所述的方法,其特征在于,所述步骤3具体包括:
4.根据权利要求3所述的方法,其特征在于,所述步骤4具体包括:
5.根据权利要求4所述的方法,其特征在于,所述步骤4.3具体包括:
6.根据权利要求5所述的方法,其特征在于,所述步骤6具体包括:
7.根据权利要求6所述的方法,其特征在于,所述步骤6.1具体包括:
8.一种基于vr云渲染的手势识别系统,其特征在于,包括:
9.一种电子设备,其特征在于,所述电子设备包括:
10.一种非暂态计算机可读存储介质,该非暂态计算机可读存储介质存储计算机指令,该计算机指令用于使该计算机执行前述权利要求1-7中任一项所述的基于vr云渲染的手势识别方法。
