CN115797517B - 虚拟模型的数据处理方法、装置、设备和介质 - Google Patents
虚拟模型的数据处理方法、装置、设备和介质 Download PDFInfo
- Publication number
- CN115797517B CN115797517B CN202310056265.2A CN202310056265A CN115797517B CN 115797517 B CN115797517 B CN 115797517B CN 202310056265 A CN202310056265 A CN 202310056265A CN 115797517 B CN115797517 B CN 115797517B
- Authority
- CN
- China
- Prior art keywords
- information
- sample
- virtual model
- target
- moment
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 22
- 230000033001 locomotion Effects 0.000 claims abstract description 445
- 238000000034 method Methods 0.000 claims abstract description 161
- 230000009471 action Effects 0.000 claims abstract description 103
- 230000007704 transition Effects 0.000 claims description 112
- 230000008569 process Effects 0.000 claims description 82
- 238000012545 processing Methods 0.000 claims description 69
- 238000012549 training Methods 0.000 claims description 50
- 239000013598 vector Substances 0.000 claims description 42
- 238000003860 storage Methods 0.000 claims description 32
- 230000006872 improvement Effects 0.000 claims description 23
- 238000009826 distribution Methods 0.000 claims description 21
- 238000004590 computer program Methods 0.000 claims description 17
- 238000012937 correction Methods 0.000 claims description 14
- 238000011156 evaluation Methods 0.000 claims description 10
- 238000005070 sampling Methods 0.000 claims description 9
- 238000012546 transfer Methods 0.000 claims description 6
- 230000000694 effects Effects 0.000 abstract description 17
- 230000000875 corresponding effect Effects 0.000 description 103
- 230000036544 posture Effects 0.000 description 94
- 238000005516 engineering process Methods 0.000 description 26
- 230000006870 function Effects 0.000 description 19
- 238000013473 artificial intelligence Methods 0.000 description 12
- 238000004891 communication Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 11
- 238000004422 calculation algorithm Methods 0.000 description 9
- 230000005021 gait Effects 0.000 description 8
- 238000010801 machine learning Methods 0.000 description 7
- 238000004088 simulation Methods 0.000 description 7
- 238000013459 approach Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 4
- 239000011159 matrix material Substances 0.000 description 4
- 210000004197 pelvis Anatomy 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 210000000988 bone and bone Anatomy 0.000 description 2
- 238000012512 characterization method Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000033228 biological regulation Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000005094 computer simulation Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- PCHJSUWPFVWCPO-UHFFFAOYSA-N gold Chemical compound [Au] PCHJSUWPFVWCPO-UHFFFAOYSA-N 0.000 description 1
- 230000006698 induction Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 238000013526 transfer learning Methods 0.000 description 1
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请公开了一种虚拟模型的数据处理方法、装置、设备和介质,该方法包括:获取虚拟模型在目标时刻的目标轨迹信息和目标状态信息;目标轨迹信息指示虚拟模型在目标时刻关联的历史时段和未来时段的轨迹信息;目标状态信息指示虚拟模型在目标时刻的模型姿态;基于目标轨迹信息和目标状态信息生成虚拟模型在目标时刻的动作信息;动作信息指示虚拟模型的运动方式;基于动作信息和目标状态信息确定虚拟模型在目标时刻的下一时刻的模型姿态,并将虚拟模型由目标状态信息指示的模型姿态切换为目标时刻的下一时刻的模型姿态。采用本申请,可提升确定虚拟模型在下一时刻的模型姿态的准确性,进而提升对虚拟模型进行模型姿态切换的效果。
Description
技术领域
本申请涉及模型处理的技术领域,尤其涉及一种虚拟模型的数据处理方法、装置、设备和介质。
背景技术
随着计算机网络的不断发展,动画制作也在不断发展。在动画制作的场景中,通常需要建模得到一个虚拟模型,后续驱动该虚拟模型进行相应的运动,使得虚拟模型做出指定的动作,以此实现动画的生成。
现有应用中,通常是直接采用当前针对虚拟模型的运动指令来对虚拟模型当前的模型姿态进行相应地改变,但是由于运动指令维度较低,很难区分出虚拟模型在多维度上的运动特征,因此,直接通过运动指令来改变虚拟模型的模型姿态,以实现虚拟模型的运动,会导致虚拟模型的运动僵硬、运动效果不好等问题的出现。
发明内容
本申请提供了一种虚拟模型的数据处理方法、装置、设备和介质,可提升确定虚拟模型在下一时刻的模型姿态的准确性,进而提升对虚拟模型进行模型姿态切换的效果。
本申请一方面提供了一种虚拟模型的数据处理方法,该方法包括:
获取虚拟模型在目标时刻的目标轨迹信息;目标轨迹信息用于指示虚拟模型在目标时刻关联的历史时段和未来时段的轨迹信息;
获取虚拟模型在目标时刻的目标状态信息;目标状态信息用于指示虚拟模型在目标时刻的模型姿态;
基于目标轨迹信息和目标状态信息,生成虚拟模型在目标时刻的动作信息;动作信息用于指示虚拟模型从目标时刻到目标时刻的下一时刻的运动方式;
基于动作信息和目标状态信息确定虚拟模型在目标时刻的下一时刻的模型姿态,并将虚拟模型由目标状态信息指示的模型姿态切换为目标时刻的下一时刻的模型姿态。
本申请一方面提供了一种虚拟模型的网络处理方法,该方法包括:
获取虚拟模型在样本时刻的第一样本轨迹信息;第一样本轨迹信息用于指示虚拟模型在样本时刻关联的历史时段和未来时段的轨迹信息;
获取虚拟模型在样本时刻的样本状态信息;样本状态信息用于指示虚拟模型在样本时刻的模型姿态;
获取虚拟模型在样本时刻的样本动作信息;样本动作信息是调用预测网络基于第一样本轨迹信息和样本状态信息进行拟合得到的;样本动作信息用于指示虚拟模型从样本时刻到样本时刻的下一时刻的运动方式;
获取虚拟模型在样本时刻的下一时刻的状态信息;虚拟模型在样本时刻的下一时刻的状态信息是基于样本动作信息和样本状态信息确定的;
基于第一样本轨迹信息、样本状态信息、样本动作信息、及虚拟模型在样本时刻的下一时刻的状态信息,修正预测网络的网络参数,得到训练好的预测网络。
本申请一方面提供了一种虚拟模型的数据处理装置,该装置包括:
第一获取模块,用于获取虚拟模型在目标时刻的目标轨迹信息;目标轨迹信息用于指示虚拟模型在目标时刻关联的历史时段和未来时段的轨迹信息;
第二获取模块,用于获取虚拟模型在目标时刻的目标状态信息;目标状态信息用于指示虚拟模型在目标时刻的模型姿态;
生成模块,用于基于目标轨迹信息和目标状态信息,生成虚拟模型在目标时刻的动作信息;动作信息用于指示虚拟模型从目标时刻到目标时刻的下一时刻的运动方式;
确定模块,用于基于动作信息和目标状态信息确定虚拟模型在目标时刻的下一时刻的模型姿态,并将虚拟模型由目标状态信息指示的模型姿态切换为目标时刻的下一时刻的模型姿态。
可选的,目标轨迹信息是基于历史轨迹信息和预测轨迹信息构成的;
其中,历史轨迹信息是虚拟模型在目标时刻关联的历史时段的轨迹信息;预测轨迹信息是对初始预测轨迹信息和在目标时刻针对虚拟模型的运动指令信息进行结合后得到的,初始预测轨迹信息是调用训练好的预测网络预测的虚拟模型在目标时刻关联的未来时段的轨迹信息。
可选的,上述装置还用于:
在目标时刻关联的历史时段获取N个历史参考时间点;N为正整数;
获取虚拟模型在N个历史参考时间点中每个历史参考时间点的运动位置信息、运动方向信息及运动速度信息;
基于虚拟模型在每个历史参考时间点的运动位置信息、运动方向信息及运动速度信息,生成历史轨迹信息。
可选的,初始预测轨迹信息是在目标时刻的上一时刻确定虚拟模型在目标时刻的模型姿态的过程中,调用训练好的预测网络预测得到的;
其中,目标时刻关联的未来时段包含M个未来参考时间点,M为正整数,初始预测轨迹信息是由预测的虚拟模型在每个未来参考时间点的运动位置信息、运动方向信息及运动速度信息构成。
可选的,运动指令信息包含指示虚拟模型进行运动的方向信息及速度信息;
上述装置还用于:
基于运动指令信息中的方向信息,对初始预测轨迹信息中虚拟模型在每个未来参考时间点的运动方向信息进行偏置处理,得到虚拟模型在每个未来参考时间点的偏置方向信息;
基于运动指令信息中的方向信息和速度信息,对初始预测轨迹信息中虚拟模型在每个未来参考时间点的运动速度信息进行偏置处理,得到虚拟模型在每个未来参考时间点的偏置速度信息;
基于M个未来参考时间点的第i-1个未来参考时间点对应的偏置位置信息和偏置速度信息,对M个未来参考时间点的第i个未来参考时间点对应的运动位置信息进行偏置处理,得到虚拟模型在第i个未来参考时间点对应的偏置位置信息;i为小于或等于M的正整数;
基于虚拟模型在每个未来参考时间点的偏置方向信息、偏置速度信息和偏置位置信息,得到预测轨迹信息。
可选的,虚拟模型具有建模的多个模型关节;
第二获取模块获取虚拟模型在目标时刻的目标状态信息的方式,包括:
获取虚拟模型的每个模型关节分别对应的一个或多个转动自由度;
计算在目标时刻虚拟模型的每个模型关节在对应的每个转动自由度下的转动角度;
基于每个模型关节在对应的每个转动自由度下的转动角度,生成目标状态信息。
可选的,虚拟模型具有建模的多个模型关节;每个模型关节均具有对应的一个或多个转动自由度;
生成模块基于目标轨迹信息和目标状态信息,生成虚拟模型在目标时刻的动作信息的方式,包括:
调用训练好的预测网络根据目标轨迹信息和目标状态信息,拟合虚拟模型的每个模型关节在对应的每个转动自由度下,由目标时刻运动到目标时刻的下一时刻的参考转动角度;
基于拟合的每个模型关节在对应每个转动自由度下的参考转动角度,生成动作信息。
可选的,生成模块调用训练好的预测网络根据目标轨迹信息和目标状态信息,拟合虚拟模型的每个模型关节在对应的每个转动自由度下,从目标时刻运动到目标时刻的下一时刻的参考转动角度的方式,包括:
调用训练好的预测网络基于目标轨迹信息和目标状态信息,拟合用于表征每个模型关节在对应每个转动自由度下,从目标时刻到目标时刻的下一时刻的运动动作的高斯均值;高斯均值包含多个维度的元素值,高斯均值中一个维度的元素值用于表征一个模型关节在对应一个转动自由度上的运动动作;
获取由高斯均值确定的目标高斯分布,并针对高斯均值的每个维度分别对目标高斯分布进行随机采样,得到每个维度分别对应的高斯随机数;
分别对每个维度对应的元素值和高斯随机数进行加和,得到每个模型关节在对应的每个转动自由度下的参考转动角度;一个参考转动角度是对应维度所属元素值和高斯随机数的加和值。
可选的,虚拟模型属于游戏中的虚拟角色;运动指令信息是在游戏过程中对虚拟角色下发的用于指示虚拟角色进行运动的信息,虚拟角色用于在游戏的虚拟场景中进行运动;
确定模块将虚拟模型由目标状态信息指示的运动姿态显示到目标时刻的下一时刻的运动姿态的方式,包括:
在游戏过程中,将虚拟角色在虚拟场景中的模型姿态由目标状态信息指示的模型姿态切换显示为目标时刻的下一时刻的模型姿态。
可选的,上述装置还用于:
将目标时刻的下一时刻确定为待定时刻;
对虚拟模型在待定时刻的模型姿态进行状态提取,得到虚拟模型在待定时刻的状态信息;
其中,提取的虚拟模型在待定时刻的状态信息用于确定虚拟模型在待定时刻的下一时刻的模型姿态。
本申请一方面提供了一种虚拟模型的网络处理装置,该装置包括:
第三获取模块,用于获取虚拟模型在样本时刻的第一样本轨迹信息;第一样本轨迹信息用于指示虚拟模型在样本时刻关联的历史时段和未来时段的轨迹信息;
第四获取模块,用于获取虚拟模型在样本时刻的样本状态信息;样本状态信息用于指示虚拟模型在样本时刻的模型姿态;
第五获取模块,用于获取虚拟模型在样本时刻的样本动作信息;样本动作信息是调用预测网络基于第一样本轨迹信息和样本状态信息进行拟合得到的;样本动作信息用于指示虚拟模型从样本时刻到样本时刻的下一时刻的运动方式;
第六获取模块,用于获取虚拟模型在样本时刻的下一时刻的状态信息;虚拟模型在样本时刻的下一时刻的状态信息是基于样本动作信息和样本状态信息确定的;
修正模块,用于基于第一样本轨迹信息、样本状态信息、样本动作信息、及虚拟模型在样本时刻的下一时刻的状态信息,修正预测网络的网络参数,得到训练好的预测网络。
可选的,第一样本轨迹信息是基于样本历史轨迹信息和样本预测轨迹信息构成的;
样本历史轨迹信息是虚拟模型在样本时刻关联的历史时段的轨迹信息,样本预测轨迹信息是对样本初始预测轨迹信息和在样本时刻针对虚拟模型的样本运动指令信息进行结合后得到的,样本初始预测轨迹信息是调用预测网络预测的虚拟模型在样本时刻关联的未来时段的轨迹信息。
可选的,修正模块基于第一样本轨迹信息、样本状态信息、样本动作信息、及虚拟模型在样本时刻的下一时刻的状态信息,修正预测网络的网络参数,得到训练好的预测网络的方式,包括:
获取虚拟模型在样本时刻的下一时刻的第二样本轨迹信息;第二样本轨迹信息用于指示虚拟模型在样本时刻的下一时刻关联的历史时段和未来时段的轨迹信息;
调用判别网络基于第一样本轨迹信息、样本状态信息、第二样本轨迹信息、及虚拟模型在样本时刻的下一时刻的状态信息,判别虚拟模型从样本状态信息指示的运动状态,转移到样本时刻的下一时刻的状态信息指示的运动状态的状态转移类型,得到第一判别值;第一判别值用于表征判别网络判别的该状态转移类型是真实对象运动过程中的状态转移类型的偏向程度;
基于第一判别值,生成虚拟模型从样本状态信息指示的运动状态转移到样本时刻的下一时刻的状态信息指示的运动状态的状态转移奖励值;
调用价值网络评估样本状态信息的第一状态价值,并调用价值网络评估虚拟模型在样本时刻的下一时刻的状态信息的第二状态价值;
基于第一状态价值、第二状态价值、转移奖励值和样本动作信息生成预测网络的预测偏差,并基于预测偏差修正预测网络的网络参数,得到训练好的预测网络。
可选的,修正模块基于第一状态价值、第二状态价值、转移奖励值和样本动作信息生成预测网络的预测偏差的方式,包括:
基于第一状态价值、第二状态价值和状态转移奖励值,确定虚拟模型从样本时刻到样本时刻的下一时刻针对状态信息的状态改善值;
基于状态改善值和样本动作信息生成预测偏差。
可选的,预测网络用于基于第一样本轨迹信息和样本状态信息,拟合得到用于表征虚拟模型从样本时刻到样本时刻的下一时刻的运动动作的样本高斯均值,样本动作信息是基于样本高斯均值得到的动作向量;
修正模块基于状态改善值和样本动作信息生成预测偏差的方式,包括:
获取动作向量与样本高斯均值之间的差值,并将差值作为针对动作向量的拟合偏差;
基于状态改善值和拟合偏差生成预测偏差。
可选的,上述装置还用于:
调用判别网络判别真实对象在运动过程中从第一状态信息指示的运动状态转移到第二状态信息指示的运动状态的状态转移类型,得到第二判别值;第二判别值用于表征判别网络判别的该状态转移类型是真实对象运动过程中的状态转移类型的偏向程度;第一状态信息和第二状态信息是在真实对象运动过程中采集得到的;
基于第一判别值和第二判别值生成判别网络针对状态转移类型的判别偏差;
基于判别偏差修正判别网络的网络参数,得到网络参数修正后的判别网络;网络参数修正后的判别网络用于训练预测网络。
可选的,上述装置还用于:
基于转移奖励值和第一状态价值生成价值网络针对状态信息的价值评估偏差;
基于价值评估偏差修正价值网络的网络参数,得到网络参数修正后的价值网络;网络参数修正后的价值网络用于训练预测网络。
本申请一方面提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行本申请中一方面中的方法。
本申请一方面提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序包括程序指令,该程序指令被处理器执行时使该处理器执行上述一方面中的方法。
根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述一方面等各种可选方式中提供的方法。
本申请首先可以获取虚拟模型在目标时刻的目标轨迹信息;目标轨迹信息用于指示虚拟模型在目标时刻关联的历史时段和未来时段的轨迹信息;并可以获取虚拟模型在目标时刻的目标状态信息;目标状态信息用于指示虚拟模型在目标时刻的模型姿态;接着,可以基于目标轨迹信息和目标状态信息,生成虚拟模型在目标时刻的动作信息;动作信息用于指示虚拟模型从目标时刻到目标时刻的下一时刻的运动方式;进而,基于动作信息和目标状态信息可以确定虚拟模型在目标时刻的下一时刻的模型姿态,并将虚拟模型由目标状态信息指示的模型姿态切换为目标时刻的下一时刻的模型姿态。由此可见,本申请提出的方法可以采用虚拟模型在目标时刻的目标轨迹信息结合上虚拟模型在目标时刻的目标状态信息,来生成虚拟模型在目标时刻的动作信息,由于该目标轨迹信息还是同时考虑到虚拟模型在目标时刻关联的历史时段和未来时段的多维度的轨迹信息,因此,通过该目标轨迹信息可以生成虚拟模型在目标时刻准确的动作信息,进而,通过该准确的动作信息也可以确定虚拟模型在目标时刻的下一时刻准确的模型姿态,通过该准确的模型姿态也可以实现对虚拟模型的模型姿态进行准确切换的效果。
附图说明
为了更清楚地说明本申请或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请提供的一种网络架构的结构示意图;
图2是本申请提供的一种处理虚拟模型的场景示意图;
图3是本申请提供的一种虚拟模型的数据处理方法的流程示意图;
图4是本申请提供的一种虚拟模型的结构示意图;
图5是本申请提供的一种获取目标轨迹信息的场景示意图;
图6是本申请提供的一种模拟虚拟模型进行运动的场景示意图;
图7是本申请提供的另一种模拟虚拟模型进行运动的场景示意图;
图8是本申请提供的一种虚拟模型的网络处理方法的流程示意图;
图9是本申请提供的一种网络训练的场景示意图;
图10是本申请提供的一种网络训练方法的流程示意图;
图11是本申请提供的另一种网络训练方法的流程示意图;
图12是本申请提供的一种游戏数据处理方法的流程示意图;
图13是本申请提供的一种虚拟模型的数据处理装置的结构示意图;
图14是本申请提供的一种虚拟模型的网络处理装置的结构示意图;
图15是本申请提供的一种计算机设备的结构示意图。
具体实施方式
下面将结合本申请中的附图,对本申请中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请涉及到人工智能相关技术。其中,人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
本申请中主要涉及到了人工智能中的机器学习。其中,机器学习(MachineLearning, ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科,专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、示教学习等技术。
本申请中所涉及到的机器学习主要指,如何训练得到预测网络,以通过该预测网络实现对虚拟模型的模型姿态的准确切换,具体可以参见下述图3对应的实施例中的描述。
本申请还涉及到区块链的相关技术。其中,区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层。区块链中包括一系列按照产生的先后时间顺序相互接续的区块(Block),新区块一旦加入到区块链中就不会再被移除,区块中记录了区块链系统中节点提交的记录数据。本申请中,可以将训练好的预测网络上链到区块链网络进行存储,以保证训练好的预测网络的不可被篡改性。
本申请还涉及到云技术。其中,云技术(Cloud Technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。
云技术是基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。
本申请中涉及到的云技术可以指驱动虚拟模型的客户端与该客户端的后台之间可以通过“云”进行通信。
首先,需要进行说明的是,本申请所采集的所有数据(如针对虚拟模型的相关轨迹信息、运动指令信息等等)都是在该数据所属对象(如用户、企业或机构)同意并授权的情况下进行采集的,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
请参见图1,图1是本申请提供的一种网络架构的结构示意图。如图1所示,网络架构可以包括服务器200和终端设备集群,终端设备集群可以包括一个或者多个终端设备,这里将不对终端设备的数量进行限制。如图1所示,多个终端设备具体可以包括终端设备1、终端设备2、终端设备3、…、终端设备n;如图1所示,终端设备1、终端设备2、终端设备3、…、终端设备n均可以与服务器200进行网络连接,以便于每个终端设备可以通过网络连接与服务器200之间进行数据交互。
如图1所示的服务器200可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。终端设备可以是:智能手机、平板电脑、笔记本电脑、桌上型电脑、智能电视等智能终端。下面以终端设备1与服务器200之间的通信为例,进行本申请实施例的具体描述。
终端设备1中具有包含可以用于驱动虚拟模型(如建模得到的虚拟的游戏角色或者动画形象等)进行运动的客户端,若虚拟模型是游戏中的游戏角色,则终端设备1可以是游戏玩家的终端设备。该客户端可以包含物理引擎,用于驱动虚拟模型进行运动。该客户端中还可以包含训练好的预测网络,该训练好的预测网络可以是由服务器200与客户端进行协作训练得到的,该训练好的预测网络可以用于模拟虚拟模型的每帧模型姿态,该训练好的预测网络的训练过程可以参见下述图8对应实施例中的具体描述。
请一并参见图2,图2是本申请提供的一种处理虚拟模型的场景示意图。如图2所示,目标时刻可以是让虚拟模型进行运动的任意一个时刻,由于在每个时刻模拟虚拟模型的模型姿态的原理都是相同的,因此此处是以目标时刻为例进行说明。
首先,终端设备1中的客户端可以采集到虚拟模型在目标时刻关联的历史时段(如紧邻目标时刻前的一小段时间,如目标时刻的前1秒的时段)的轨迹信息,可以将该轨迹信息称之为是历史轨迹信息,接着,客户端可以获取到虚拟模型在目标时刻关联的未来时段(如紧邻目标时刻后的一小段时间,如目标时刻的后1秒的时段)的轨迹信息,该轨迹信息可以是通过训练好的预测网络在目标时刻的上一时刻模拟虚拟模型在目标时刻的模型姿态的过程中预测得到的,可以将该轨迹信息称之为是初始预测轨迹信息。
客户端还可以获取到目标时刻用户(如游戏玩家)针对虚拟模型下发的运动指令信息,该运动指令信息用于指示虚拟模型如何运动。进而,客户端可以对该运动指令信息与上述得到的初始预测轨迹信息进行结合,即可得到预测轨迹信息,该预测轨迹信息可以同时用于表征虚拟模型在目标时刻关联的未来时段以及历史时段的轨迹信息。
客户端还可以获取到虚拟模型在目标时刻的运动状态信息,该运动状态信息可以用于表征虚拟模型在目标时刻的模型姿态。后续,客户端就可以调用训练好的预测网络通过上述获取到的目标轨迹信息和目标状态信息生成虚拟模型在目标时刻的动作信息,该动作信息就指示了虚拟模型在目标时刻运动到目标时刻的下一时刻的运动方式,该动作信息的生成过程可以参见下述图3对应实施例中的相关描述。
最后,客户端通过物理引擎根据上述得到的动作信息和目标状态信息就可以模拟出虚拟模型在目标时刻的下一时刻的模型姿态,进而直接将虚拟模型在目标时刻的模型姿态切换为在该下一时刻的模型姿态,即可实现让虚拟模型进行运动的效果。
本申请中,通过将运动指令信息结合上训练好的预测网络所预测的初始预测轨迹信息,得到更能用于表征虚拟模型的运动的多维的预测轨迹信息,进而通过该预测轨迹信息可以更准确地来模拟模型在下一时刻的模型姿态。
请参见图3,图3是本申请提供的一种虚拟模型的数据处理方法的流程示意图。本申请实施例中的执行主体可以是能够驱动虚拟模型的客户端(UE),该客户端的具体类型可以根据实际应用场景确定,该客户端可以包含于相关计算机设备中,该计算机设备可以是终端设备也可以是其他设备,对此不做限制。如图3所示,该方法可以包括:
步骤S101,获取虚拟模型在目标时刻的目标轨迹信息;目标轨迹信息用于指示虚拟模型在目标时刻关联的历史时段和未来时段的轨迹信息。
具体的,虚拟模型可以是构建的虚拟的任意对象,可以向虚拟模型下发相应的运动指令以驱使虚拟模型进行相应的动作,使得虚拟模型做出相应的动作,如站、走、跑、转弯、急转弯等步态的动作。本申请可以应用在动画生成的相关场景中,如通过驱动虚拟模型做出相应的动作,就可以实现动画的生成,生成的动画可以是虚拟模型进行运动的相关动画。
可选的,本申请中的虚拟模型的类型也可以根据实际应用场景确定。如虚拟模型可以是构建的游戏中的游戏角色(也可以称为虚拟角色),驱动该游戏角色进行运动可以是驱动该游戏角色做出打斗、奔跑、行走或者弹跳等动作,此时客户端可以是属于该游戏的游戏客户端。再如,虚拟模型还可以是构建的动画中的动画形象,等等。
更多的,本申请既可以应用在复杂的双足人骨骼模型的运动场景中,即虚拟模型可以是双足人骨骼模型,或者本申请也可以应用在其他构造比较简单的模型的运动场景中,即虚拟模型也可以是构造简单的其他模型。换句话说,本申请可以应用在各种复杂或者简单的虚拟模型的运动场景中,以实现虚拟模型的准确运动。
本申请的客户端中可以具有物理引擎,客户端可以是通过该物理引擎来执行的驱动虚拟模型进行运动(如模型姿态切换)的相关操作。
首先,客户端可以获取虚拟模型在目标时刻的目标轨迹信息,该目标时刻可以是虚拟模型运动过程中的任意一个时刻,由于对虚拟模型在每个时刻的模型姿态的确定过程是相同,因此,本申请是以目标时刻为例进行说明的。该目标轨迹信息可以用于指示虚拟模型在目标时刻关联的历史时段和未来时段的轨迹信息。
其中,目标时刻可以是当前时刻,目标时刻关联的历史时段可以是指目标时刻相邻的前一段时间,如目标时刻关联的历史时段可以是目标时刻的前1秒的时段。同理,目标时刻关联的未来时段可以是指目标时刻相邻的后一段时间,如目标时刻的未来时段可以是目标时刻的后1秒的时段。
上述目标轨迹信息可以是由历史轨迹信息和预测轨迹信息构成的,下述具体说明历史轨迹信息和预测轨迹信息的获取过程。
其中,历史轨迹信息可以是虚拟模型在目标时刻关联的历史时段的轨迹信息,客户端获取该历史轨迹信息的过程可以包括:
客户端中可以存储有虚拟模型历史时间运动的相关信息(包括运动位置信息、运动方向信息和运动速度信息等)。首先,客户端可以在目标时刻关联的历史时段获取N个时间点,可以将该N个时间点称之为是N个历史参考时间点,N为正整数。
如若目标时刻关联的历史时段是目标时刻前1秒的时段,则该N个历史参考时间点可以包括目标时刻之前的1/6秒处的时间点、目标时刻之前的2/6秒处的时间点、目标时刻之前的3/6秒处的时间点、目标时刻之前的4/6秒处的时间点、目标时刻之前的5/6秒处的时间点、目标时刻之前的6/6秒(即1秒)处的时间点,共6个历史参考时间点,即N等于6。
本申请中用于表示虚拟模型的运动相关参数的坐标轴可以包括X轴、Y轴和Z轴。接着,客户端可以获取存储的虚拟模型在该N个历史参考时间点中每个历史参考时间点的运动位置信息(该运动位置信息可以是虚拟模型在历史参考时间点的二维的XY平面位置,该XY平面位置包括虚拟模型在X轴方向上的位置和虚拟模型在Y轴方向上的位置,XY平面是由X轴和Y轴构成)、运动方向信息(该运动方向信息可以是虚拟模型在历史参考时间点的二维的XY平面朝向,该XY平面朝向包括虚拟模型在X轴方向上的朝向和虚拟模型在Y轴方向上的朝向)和运动速度信息(该运动速度信息可以是虚拟模型在历史参考时间点的二维的XY平面速度,该XY平面速度包括虚拟模型在X轴方向上的速度和虚拟模型在Y轴方向上的速度)。
其中,上述虚拟模型在各个历史参考时间点的运动位置信息、运动方向信息(也可以称为运动朝向信息)以及运动速度信息,都可以是以component坐标系(双足人骨骼模型两腿之间正下方位置处的坐标系)作为参考系的。该component坐标系的位置可以随着虚拟模型的运动而发生变化。
可选的,虚拟模型的运动场景还可以包括世界坐标系,该世界坐标系可以是在虚拟模型的运动场景中任意位置处设置的一个基准坐标系。本申请中,客户端记录的虚拟模型在各个历史参考时间点的运动位置、运动方向以及运动速度可以是以该世界坐标系为基准的,后续,可以将虚拟模型在各个历史参考时间点的运动位置、运动方向以及运动速度从世界坐标系转换到component坐标系下,得到上述虚拟模型在各个历史参考时间点的运动位置信息、运动方向信息以及运动速度信息。
请参见图4,图4是本申请提供的一种虚拟模型的结构示意图。如图4所示,本申请的虚拟模型可以是双足人骨骼模型,component坐标系可以是在该双足人骨骼模型的两腿之间正下方位置处的坐标系。
进而,客户端可以通过上述获取的虚拟模型在各个历史参考时间点的运动位置信息、运动方向信息以及运动速度信息,来生成上述历史轨迹信息,该历史轨迹信息就包含虚拟模型在各个历史参考时间点的运动位置信息、运动方向信息以及运动速度信息,换句话说,该历史轨迹信息可以是虚拟模型在各个历史参考时间点的运动位置信息、运动方向信息以及运动速度信息构成的轨迹信息。
上述得到的历史轨迹信息的维度可以是6N,若N等于6,则历史轨迹信息的维度为36维,即一个历史参考时间点对应于历史轨迹信息中的6维特征,该6维特征包括二维的XY平面位置、二维的XY平面朝向以及二维的XY平面速度。
可以理解的是,通过在目标时刻关联的历史时段内取N个历史参考时间点,进而通过虚拟模型在该N个历史参考时间点的运动信息(如运动位置信息、运动方向信息和运动速度信息)来生成虚拟模型的历史轨迹信息,使得该历史轨迹信息可以用于表征虚拟模型在当前时刻(如目标时刻)的前一段时间内的运动特征,进而通过该历史轨迹信息来生成上述目标轨迹信息,目标轨迹信息就可以包含虚拟模型在当前时刻前的一段时间内运动的多维特征(即历史轨迹信息包含的多维特征,如上述6N维特征),以此实现了在目标轨迹信息中增加虚拟模型在运动过程中的历史成分的运动特征,后续在对虚拟模型的模型姿态进行预测时,也可以考虑到该历史成分的运动特征对虚拟模型的模型姿态进行更准确的预测。
更多的,上述预测轨迹信息可以是对初始预测轨迹信息和在目标时刻针对虚拟模型的运动指令信息进行结合后得到的,该初始预测轨迹信息可以是调用训练好的预测网络预测的虚拟模型在目标时刻关联的未来时段的轨迹信息。该初始预测轨迹信息可以是在目标时刻的上一时刻,采用本申请提供的方法确定虚拟模型在目标时刻的模型姿态的过程中,调用训练好的预测网络预测得到的。其中,预测初始预测轨迹信息的原理可以参见下述步骤S103中的相关描述,若目标时刻没有上一时刻,即目标时刻是虚拟模型开始运动的第1个时刻,则初始预测轨迹信息可以是初始化得到的。
其中,需要进行说明的是,本申请中可以设置虚拟模型的模型姿态的更新周期(可以称为Tick(标记)控制周期),因此,本申请中相邻两个时刻之间的时间间隔就可以为该更新周期,如目标时刻与目标时刻的上一时刻之间的时间间隔可以为该更新周期,目标时刻与目标时刻的下一时刻之间的时间间隔也可以为该更新周期,该更新周期可以为1/30秒。
同样,可以在目标时刻关联的未来时段内取M个时间点,可以将该M个时间点称之为是M个未来参考时间点,M为正整数。客户端可以调用训练好的预测网络预测虚拟模型在各个未来参考时间点的运动位置信息、运动方向信息以及运动速度信息,进而,可以通过预测的虚拟模型在各个未来参考时间点的运动位置信息、运动方向信息以及运动速度信息,生成上述初始预测轨迹信息,该初始预测轨迹信息就包括虚拟模型在各个未来参考时间点的运动位置信息、运动方向信息以及运动速度信息,即初始预测轨迹信息是由预测的虚拟模型在各个未来参考时间点的运动位置信息(该运动位置信息同样可以是虚拟模型在未来参考时间点的二维的XY平面位置)、运动方向信息(该运动方向信息同样可以是虚拟模型在未来参考时间点的二维的XY平面朝向)以及运动速度信息(该运动速度信息同样可以是虚拟模型在未来参考时间点的二维的XY平面速度)构成的轨迹信息。
例如,目标时刻关联的未来时段可以是目标时刻后的1秒的时段,则该M个未来参考时间点可以包括目标时刻之后的1/6秒处的时间点、目标时刻之后的2/6秒处的时间点、目标时刻之后的3/6秒处的时间点、目标时刻之后的4/6秒处的时间点、目标时刻之后的5/6秒处的时间点、目标时刻之后的6/6秒(即1秒)处的时间点,共6个未来参考时间点,即M等于6。
上述得到的初始预测轨迹信息的维度可以是6M,若M等于6,则初始预测轨迹信息的维度为36维,即一个历史参考时间点对应于初始预测轨迹信息中的6维特征,该6维特征包括二维的XY平面位置、二维的XY平面朝向以及二维的XY平面速度。可以将初始预测轨迹信息表示为。
上述运动指令信息可以包含用于指示虚拟模型进行运动的方向信息(包括X轴方向上的运动方向以及Y轴方向上的运动方向共2维)以及速度信息(即运动速率),即运动指令信息可以是3维的,运动指令信息可以是一个向量,可以将运动指令信息表示为。其中,还可以将运动指令信息称之为是目标向量,表示虚拟模型运动的目标。该运动指令信息也可以是以上述component坐标系作为参考系的。
其中,该运动指令信息可以是由用户(可以称为对象)下发的,如若虚拟模型是游戏过程中的游戏角色(即虚拟角色),则该运动指令信息可以是游戏玩家在游戏过程中针对游戏角色下发的用于指示游戏角色进行相应运动的指令信息。
其中,可以通过该运动指令信息对上述初始预测轨迹信息进行偏置处理,以得到上述预测轨迹信息。通过运动指令信息对初始预测轨迹信息进行偏置处理,可以理解为是通过运动指令信息对初始预测轨迹信息进行补偿,使得补偿后的初始预测轨迹信息(即预测轨迹信息)包含的多维特征可以向运动指令信息所指示的运动特征进行偏移。综合来说,通过运动指令信息对初始预测轨迹信息进行偏置处理,也就是将网络预测的初始预测轨迹信息与对虚拟模型实际下发的运动指令信息进行结合,使得得到的预测轨迹信息既包含网络预测的特征(即初始预测轨迹信息的特征),也包含对虚拟模型实际下发的运动指令信息的特征,以此实现了将运动指令信息的3维特征扩展为了预测轨迹信息包含的多维特征(可以是6M维),后续,通过预测轨迹信息包含的多维特征也可以实现对虚拟模型的模型姿态进行更准确的预测。
请参见下述内容描述,获取预测轨迹信息的过程具体可以包括:
客户端可以通过运动指令信息中的方向信息,对初始预测轨迹信息中虚拟模型在各个未来参考时间点的运动方向信息进行偏置处理,以得到虚拟模型在各个未来参考时间点的偏置方向信息,该偏置方向信息也就是对初始预测轨迹信息中的运动方向信息结合上运动指令信息中的方向信息后得到的。其中,可以将运动指令信息中的方向信息表示为goal_dir,若M等于6,即包含6个未来参考时间点,则对初始预测轨迹信息中虚拟模型在各个未来参考时间点的运动方向信息进行偏置处理的原理可以如下述公式(1)所示:
其中,i表示M个未来参考时间点中第i个未来参考时间点,i为整数且i小于或等于M。表示虚拟模型在第i个未来参考时间点的偏置方向信息,表示初始预测轨迹信息中虚拟模型在第i个未来参考时间点的运动方向信息,表示运动指令信息中的方向信息。
客户端还可以通过运动指令信息中的速度信息,对初始预测轨迹信息中虚拟模型在各个未来参考时间点的运动速度信息进行偏置处理,以得到虚拟模型在各个未来参考时间点的偏置速度信息,该偏置速度信息也就是对初始预测轨迹信息中的运动速度信息结合上运动指令信息中的速度信息后得到的。同样,可以将运动指令信息中的速度信息表示为goal_speed,若M等于6,则对初始预测轨迹中虚拟模型在各个未来参考时间点的运动速度信息进行偏置处理的原理可以如下述公式(2)所示:
客户端还可以通过6个未来参考时间点中前一个未来参考时间点对应的偏置方向信息和偏置速度信息,对初始预测轨迹信息中后一个未来参考时间点的运动位置信息进行偏置处理,以得到该后一个未来参考时间点对应的偏置位置信息。由于该偏置方向信息是对初始预测轨迹信息中的运动方向信息结合上运动指令信息中的方向信息后得到,该偏置速度信息也是对初始预测轨迹信息中的运动速度信息结合上运动指令信息中的速度信息后得到,因此,通过该偏置方向和该偏置速度信息得到的该偏置位置信息,也可以理解为是对初始预测轨迹信息中的运动位置信息结合上运动指令信息后得到,得到的偏置位置信息也就包含了运动指令信息的相关特征。如下述内容描述,若M等于6,获取虚拟模型在各个未来参考时间点的偏置位置信息的原理可以如下述公式(3)所示:
其中,表示第i个未来参考时间点的偏置位置信息,表示初始预测轨迹信息中虚拟模型在第i个未来参考时间点的运动位置信息,表示虚拟模型在第i-1个未来参考时间点的偏置位置信息,表示虚拟模型在第i-1个未来参考时间点的偏置速度信息。其中,若i等于1,i-1等于0,此时可以存在特殊和,可以为0,可以为虚拟模型在当前(如目标时刻)的运动速度。
通过上述过程,即可得到虚拟模型在各个未来参考时间点的偏置方向信息、偏置速度信息和偏置位置信息,客户端可以通过虚拟模型在各个未来参考时间点的偏置方向信息、偏置速度信息和偏置位置信息来生成预测轨迹信息,该预测轨迹信息就包括虚拟模型在各个未来参考时间点的偏置方向信息、偏置速度信息和偏置位置信息,该预测轨迹信息的维度与上述初始预测轨迹信息的维度相同,如都为36维。
由于初始预测轨迹信息是由训练好的预测网络预测得到,并可以通过上述运动指令信息对该初始预测轨迹信息进行偏置处理,以得到预测轨迹信息,因此,该预测轨迹信息同时包含了通过训练好的预测网络拟合得到的轨迹特征(如初始预测轨迹信息的特征)和该运动指令信息所指示的相关运动特征(如运动指令信息包含的方向信息以及速度信息所指示的运动特征,该运动特征可以理解为是用于指示虚拟模型进行相应运动的特征),后续不直接使用运动指令信息,而是通过该预测轨迹信息来确定虚拟模型的模型姿态,由于考虑的特征维度更多,可以更加细致地对虚拟模型不同的步态进行区分,因此所确定的模型姿态可以更加准确。
进而,客户端可以对上述历史轨迹信息(可以表示为一个向量)和预测轨迹信息(可以表示为一个向量)进行拼接(如横向拼接),即可得到虚拟模型在目标时刻的上述目标轨迹信息,该目标轨迹信息也可以表示为一个向量,即历史轨迹信息、预测轨迹信息和目标轨迹信息均可以为向量。
其中,该目标轨迹信息的维度可以等于历史轨迹信息的维度和预测轨迹信息的维度之和。如若历史轨迹信息的维度为36维,预测轨迹信息的维度也为36维,则目标轨迹信息的维度就可以为36+36等于72维。
请参见图5,图5是本申请提供的一种获取目标轨迹信息的场景示意图。如图5所示,本申请中未来参考时间点和历史参考时间点均可以有6个。6个未来参考时间点包括未来参考时间点1~未来参考时间点6,未来参考时间点1可以是在目标时刻后1/6秒处的时间点,未来参考时间点2可以是在目标时刻后2/6秒处的时间点,未来参考时间点3可以是在目标时刻后3/6秒处的时间点,未来参考时间点4可以是在目标时刻后4/6秒处的时间点,未来参考时间点5可以是在目标时刻后5/6秒处的时间点,未来参考时间点6可以是在目标时刻后1秒处的时间点。
更多的,6个历史参考时间点包括历史参考时间点1~历史参考时间点6,历史参考时间点1可以是在目标时刻前1秒处的时间点,历史参考时间点2可以是在目标时刻前5/6秒处的时间点,历史参考时间点3可以是在目标时刻前4/6秒处的时间点,历史参考时间点4可以是在目标时刻前3/6秒处的时间点,历史参考时间点5可以是在目标时刻前2/6秒处的时间点,历史参考时间点6可以是在目标时刻前1/6秒处的时间点。
目标轨迹信息中包含虚拟模型在各个历史参考时间点实际的运动位置信息、运动方向信息和运动速度信息,并包含虚拟模型在各个未来参考时间点的偏置位置信息、偏置方向信息以及偏置速度信息。
步骤S102,获取虚拟模型在目标时刻的目标状态信息;目标状态信息用于指示虚拟模型在目标时刻的模型姿态。
具体的,客户端还可以获取虚拟模型在目标时刻的目标状态信息,该目标状态信息用于指示虚拟模型在目标时刻的模型姿态,实际上,该目标状态信息是根据虚拟模型在目标时刻的模型姿态提取得到的。
其中,虚拟模型可以具有建模的多个模型关节(如人体的若干关节),各个模型关节可以具有不同维度的自由度(可以称为转动自由度),即各个模型关节可以具有不同数目的转动自由度,某个模型关节的转动自由度可以理解为该模型关节可以转动的方向。其中,模型关节可转动的方向可以包括X轴方向、Y轴方向以及Z轴方向,任一个模型关节的自由度都可以包括X轴方向上的转动自由度、Y轴方向上的转动自由度以及Z轴方向上的转动自由度中的一个或多个转动自由度。
客户端可以获取到虚拟模型的各个模型关节分别对应的一个或多个转动自由度,并可以获取到各个模型关节旋转的四元数(该四元数是表达模型关节旋转的一种方式,该四元数可以是虚拟模型在目标时刻的运动所产生的)。
客户端通过各个模型关节旋转的四元数即可以计算出各个模型关节在对应的各个转动自由度下的转动角度(即转动的角度值)。若一个模型关节的转动自由度包括X轴方向上的转动自由度,则该个模型关节在该X轴方向上的转动自由度下的转动角度,就表示该个模型关节在X轴方向上转动的角度值。
进而,客户端可以通过各个模型关节分别在对应的每个转动自由度下的转动角度,生成目标状态信息,该目标状态信息可以包括各个模型关节分别在对应的每个转动自由度下的转动角度,一个模型关节以及该个模型关节的一个转动自由度可以对应一个转动角度。
其中,由于pelvis(骨盆,可以为根骨骼)在人体的关键位置和中心位置,因此,若虚拟模型是双足人骨骼模型,则目标状态信息中还可以添加有pelvis在component坐标系中的3维位置坐标(即包括在X轴上的位置坐标、Y轴上的位置坐标以及Z轴上的位置坐标)。
更多的,目标状态信息中还可以添加有通过四元数转换得到的forward-up向量(用于表征物体(如模型关节)的旋转方向的方向向量,属于一种旋转的表达方式,用于描述物体的姿势(即姿态))表示的模型关节的姿态,一个四元数可以转换得到一个forward-up向量(维度可以是6维)。其中,一个模型关节在一个转动自由度下可以有一个四元数。如若模型关节有18个,该18个模型关节共具有40个转动自由度,则共具有40个四元数,也就共可以转换得到40个forward-up向量。
其中,一个forward-up向量可以包含一个forward向量和一个up向量,该forward向量可以称为前方向量,up向量可以称为上方向量,该前方向量和上方向量用于表征物体(如模型关节)在三维空间的不同方向上的旋转角度(如转动角度)。
其中,由于forward-up向量相较于四元数更容易被拟合,因此,通过将四元数转换为forward-up向量,添加到目标状态信息中,可以使得后续训练好的预测网络可以对该目标状态信息进行更快的特征学习和数据处理,提高训练好的预测网络对目标状态信息进行学习和处理效率。
因此,可以理解的是,目标状态信息可以用于表示虚拟模型的当前状态,目标状态信息可以是由虚拟模型的各个模型关节在各个转动自由度下的转动角度、虚拟模型的pelvis的位置信息以及根据虚拟模型的各个模型关节在各个转动自由度下的四元数转换得到的forward-up向量构成。该目标状态信息可以用于表示虚拟模型在当前的模型姿态(如做出的姿势或者动作)。
步骤S103,基于目标轨迹信息和目标状态信息,生成虚拟模型在目标时刻的动作信息;动作信息用于指示虚拟模型从目标时刻到目标时刻的下一时刻的运动方式。
具体的,客户端可以通过上述获取的目标轨迹信息和目标状态信息来生成虚拟模型在目标时刻的动作信息,该动作信息可以用于指示虚拟模型从目标时刻到目标时刻的下一时刻的运动方式,该动作信息可以包含各个模型关节在对应每个转动自由度下的参考转动角度,一个模型关节的一个转动自由度可以对应一个参考转动角度,该参考转动角度就为拟合的该个模型关节从目标时刻运动到目标时刻的下一时刻的转动角度。
其中,获取该动作信息的过程可以包括:虚拟模型可以具有建模的多个模型关节,每个模型关节均具有对应的一个或多个转动自由度。客户端可以调用训练好的预测网络根据该目标轨迹信息和目标状态信息,拟合虚拟模型的每个模型关节在对应的每个转动自由度下,由目标时刻运动到目标时刻的下一时刻的参考转动角度,进而,客户端就可以通过拟合的各个模型关节在对应每个转动自由度下的参考转动角度,生成上述动作信息,该动作信息就包括拟合的各个模型关节在对应每个转动自由度下的参考转动角度。
获取上述训练好的预测网络的过程可以参见下述图8对应实施例中的相关描述。
其中,拟合虚拟模型的每个模型关节在对应的每个转动自由度下,由目标时刻运动到目标时刻的下一时刻的参考转动角度的过程可以包括:客户端可以调用训练好的预测网络基于该目标轨迹信息和目标状态信息,拟合出用于表征每个模型关节在对应每个转动自由度下,从目标时刻到目标时刻的下一时刻的运动动作的高斯均值,该高斯均值可以是多维的向量(可以称为均值向量),该高斯均值包含多个维度的元素值,即高斯均值可以包含多个元素,一个元素对应一个维度。
其中,该高斯均值中一个维度的元素值用于表征一个模型关节在对应一个转动自由度上的运动动作,如一个维度的元素值用于表征一个模型关节在对应一个转动自由度上运动到目标时刻的下一时刻时的转动角度。
通过上述目标轨迹信息和目标状态信息拟合出该高斯均值的原理可以如下述公式所示:
其中,表示目标状态信息,表示目标轨迹信息,训练好的预测网络的输入可以是和,表示由和合并(如横向拼接)为的一个长向量。C、H1和H2均为中间变量,sigmoid表示激活函数。W0~W10为11个矩阵,属于训练好的预测网络的网络参数。b0~b10为11个向量,也属于训练好的预测网络的网络参数。t表示目标时刻,t+1表示目标时刻的下一时刻。
因此,可以表示预测的目标时刻的下一时刻关联的未来时段的初始预测轨迹信息,可以用于在目标时刻的下一时刻预测该下一时刻的再下一时刻的模型姿态。上述预测的目标时刻关联的未来时段的初始预测轨迹信息也可以是基于上述公式(8)的原理得到。
客户端还可以通过上述拟合得到的高斯均值得到对应的高斯分布(可以称为目标高斯分布),该目标高斯分布的均值就为该高斯均值,该目标高斯分布的标准差可以是预先设定的固定且合适的标准差,如该标准差可以是0.15,因此,该目标高斯分布可以表示为。
客户端还可以调用训练好的预测网络,针对高斯均值的每个维度分别对该目标高斯分布进行随机采样(或者进行随机采样的高斯分布也可以是其他高斯分布,如也可以是预设的均值为0,标准差为0.15的高斯分布,其效果是相同的),以得到每个维度分别对应的高斯随机数,即该高斯随机数可以是从目标高斯分布中采样得到的数值。换句话说,针对高斯均值的任一个维度,均可以在目标高斯分布中随机采样得到一个数值,采样得到的该个数值就可以为该任一个维度对应的高斯随机数,一个维度对应一个高斯随机数。
进而,可以分别对上述高斯均值中每个维度对应的元素值和每个维度对应的高斯随机数进行加和(即求和),就可以得到拟合的每个模型关节在对应每个转动自由度下的参考转动角度。一个模型关节在对应一个转动自由度下的参考转动角度,就等于与该模型关节的该个转动自由度相对应的维度所属元素值和高斯随机数的加和值。
由于高斯分布具有容易求导、计算更方便等好的性质,因此通过引入高斯分布来拟合上述动作信息,可以提高拟合动作信息的效率,并降低拟合动作信息的计算难度。并且,通过对高斯分布进行随机采样,并将采样得到的高斯随机数分别加到高斯均值的各个维度上,可以强化训练好的预测网络对于特征的学习算法的探索过程,在对预测网络进行训练以得到训练好的预测网络的过程也会进行相同的步骤,使得在训练预测网络时,也可以强化预测网络对于特征的学习算法的探索过程,实现对预测网络更为准确的训练。
步骤S104,基于动作信息和目标状态信息确定虚拟模型在目标时刻的下一时刻的模型姿态,并将虚拟模型由目标状态信息指示的模型姿态切换为目标时刻的下一时刻的模型姿态。
具体的,客户端可以通过搭载的物理引擎根据上述获取的动作信息和目标状态信息,确定虚拟模型在目标时刻的下一时刻的模型姿态,并可以将虚拟模型由目标状态信息指示的模型姿态切换为此处确定的目标时刻的下一时刻的模型姿态。
其中,客户端可以采用物理引擎内置的PD控制器(PD控制器是由比例单元(Proportional)和微分单元(Derivative)组成的一种控制回路)通过上述得到的动作信息和目标状态信息去计算针对虚拟模型的内力矩值,物理引擎会接收这个内力矩值,并结合外部环境给予虚拟模型的外力与外力矩,模拟出虚拟模型下一帧的姿态(如目标时刻的下一时刻的模型姿态),即通过当前状态(如目标状态信息)和动作向量(如动作信息)得到虚拟模型下一帧的姿态的过程可以是由客户端的物理引擎来实现的。
更多的,可以理解的是,虚拟模型的运动可以是一帧帧的,通过依次切换显示虚拟模型在连续的若干个时刻(如目标时刻的上一时刻、目标时刻、目标时刻的下一时刻属于3个连续的时刻)的模型姿态,可以在视觉上认为虚拟模型是在运动,这个原理类似于在播放视频时,实际上是在播放视频的各个视频帧。因此,通过将虚拟模型由目标状态信息指示的模型姿态切换显示为上述确定的目标时刻的下一时刻的模型姿态,可以达到虚拟模型从目标时刻的模型姿态运动到了目标时刻的下一时刻的模型姿态的效果。
因此,通过上述描述的过程,客户端可以在各个时刻(如目标时刻)确定出虚拟模型在该各个时刻的下一时刻的模型姿态,进而对虚拟模型的模型姿态依次进行不断切换显示,就可以达到驱动虚拟模型进行运动的目的。
例如,虚拟模型属于游戏中的虚拟角色,该虚拟角色可以在该游戏中的虚拟场景(如虚构的游戏场景)中进行运动。因此,将虚拟模型由目标状态信息指示的运动姿态显示到目标时刻的下一时刻的运动姿态可以是指,在游戏过程中,将虚拟角色在虚拟场景中的模型姿态有目标状态信息指示的模型姿态切换显示为目标时刻的下一时刻的模型姿态,以实现虚拟角色在游戏场景中的运动效果。
更多的,可以将目标时刻的下一时刻称之为是待定时刻,客户端可以对虚拟模型在待定时刻的模型姿态进行状态提取,得到虚拟模型在待定时刻的状态信息,该提取的虚拟模型在待定时刻的状态信息就可以用于在待定时刻确定虚拟模型在待定时刻的下一时刻的模型姿态,该过程与上述在目标时刻确定虚拟模型在目标时刻的下一时刻的模型姿态的过程相同,如可以将待定时刻作为新的目标时刻,将待定时刻的状态信息作为新的目标状态信息,以此通过上述原理来预测新的目标时刻的下一时刻的模型姿态,以此不断循环,确定出虚拟模型在每个时刻的模型姿态,进而对虚拟模型在每个时刻的模型姿态依照时间顺序进行切换显示,达到让虚拟模型进行运动的效果。
可以理解为,模型姿态包含虚拟模型的各个模型关节在对应各个转动自由度下的转动角度,以及包括虚拟模型的运动位置(可以理解为,通过虚拟模型的各个模型关节的运动也会带来虚拟模型整体的运动,因此通过虚拟模型在前一帧的运动位置也可以推算出虚拟模型在后一帧的运动位置),因此,通过虚拟模型的模型姿态可以提取得到虚拟模型的状态信息。此处的帧可以是指时刻。
请参见图6,图6是本申请提供的一种模拟虚拟模型进行运动的场景示意图。本申请中可以向训练好的预测网络输入在各个时刻获取到的虚拟模型的目标轨迹信息和目标状态信息,进而即可通过该训练好的预测网络以及客户端中的物理引擎模拟出虚拟模型在各个时刻的下一时刻的模型姿态,进而在各个时刻依次对虚拟模型的模型姿态进行切换和显示,即可模拟出虚拟模型进行相应的运动(即做出相应的动作)的过程,如此处为模拟的让虚拟模型进行跳远的动作。
再请参见图7,图7是本申请提供的另一种模拟虚拟模型进行运动的场景示意图。如图7所示,本申请还可以模拟出虚拟模型在跑步过程中的每帧模型姿态(包括此处的第1帧模型姿态~第6帧模型姿态,也就是第1个时刻的模型姿态到第6个时刻的模型姿态,相邻两个时刻之间的时间间隔可以是1/30秒),通过在第1个时刻~第6个时刻依次切换虚拟模型的模型姿态,就可以让虚拟模型进行跑步的运动。
本申请,通过结合上训练好的预测网络,将低维度的运动指令信息转换为高维度的预测轨迹信息,进而通过该预测轨迹信息,可以实现更为精细地确定虚拟模型的模型姿态的目的。
通过引入该预测轨迹信息,也可以实现对虚拟模型不同步态的精细区分,如预测轨迹信息中虚拟模型在各个时间点(包括各个历史参考时间点和各个未来参考时间点)间的运动位置(运动位置信息)、运动速度(运动速度信息)、运动方向(运动方向信息)的不同变化幅度可以用于体现出虚拟模型不同的步态,如转弯的步态可以是相近时间点的运动方向的有变化但变化幅度较小,急转弯的步态可以是相近时间点的运动方向的变化幅度较大,站的步态可以是运动位置不变,走的步态可以是相近时间点的运动速度都比较小,跑的步态可以是相近时间点的运动速度都比较大等等。
本申请首先可以获取虚拟模型在目标时刻的目标轨迹信息;目标轨迹信息用于指示虚拟模型在目标时刻关联的历史时段和未来时段的轨迹信息;并可以获取虚拟模型在目标时刻的目标状态信息;目标状态信息用于指示虚拟模型在目标时刻的模型姿态;接着,可以基于目标轨迹信息和目标状态信息,生成虚拟模型在目标时刻的动作信息;动作信息用于指示虚拟模型从目标时刻到目标时刻的下一时刻的运动方式;进而,基于动作信息和目标状态信息可以确定虚拟模型在目标时刻的下一时刻的模型姿态,并将虚拟模型由目标状态信息指示的模型姿态切换为目标时刻的下一时刻的模型姿态。由此可见,本申请提出的方法可以采用虚拟模型在目标时刻的目标轨迹信息结合上虚拟模型在目标时刻的目标状态信息,来生成虚拟模型在目标时刻的动作信息,由于该目标轨迹信息还是同时考虑到虚拟模型在目标时刻关联的历史时段和未来时段的多维度的轨迹信息,因此,通过该目标轨迹信息可以生成虚拟模型在目标时刻准确的动作信息,进而,通过该准确的动作信息也可以确定虚拟模型在目标时刻的下一时刻准确的模型姿态,通过该准确的模型姿态也可以实现对虚拟模型的模型姿态进行准确切换的效果。
请参见图8,图8是本申请提供的一种虚拟模型的网络处理方法的流程示意图,该方法的执行主体可以是上述客户端的后台(如后台设备),该后台可以是由一个或多个计算机设备构成,该计算机设备可以是服务器,或者也可以是其他设备,对此不做限制,下述以本申请实施例中的执行主体为服务器为例进行说明。本申请实施例描述了如何训练得到上述训练好的预测网络。如图8所示,该方法可以包括:
步骤S201,获取虚拟模型在样本时刻的第一样本轨迹信息;第一样本轨迹信息用于指示虚拟模型在样本时刻关联的历史时段和未来时段的轨迹信息。
具体的,本申请对预测网络进行训练的过程也可以是由服务器和客户端进行协作完成的,本申请实施例训练过程中的客户端可以是相关技术人员的客户端,上述图3对应实施例中的应用过程中的客户端可以是实际的用户的客户端,实际上,技术人员的客户端与用户的客户端可以是相同的,只是使用时间和阶段不同。
首先,服务器可以获取到待训练的预测网络,该预测网络训练完成之后可以用于在上述图3对应实施例中预测初始预测轨迹信息和动作信息。服务器可以将该预测网络的网络参数下发给客户端,预测网络刚开始被训练时,预测网络的网络参数可以是初始化的网络参数。
客户端可以生成虚拟模型在样本时刻(可以是训练过程中的任意一个时刻,该样本时刻和上述目标时刻可以是类似的概念)的样本轨迹信息,可以将虚拟模型在样本时刻的样本轨迹信息称之为是第一样本轨迹信息,该第一样本轨迹信息用于指示虚拟在样本时刻关联的历史时段和未来时段的轨迹信息。客户端获取第一样本轨迹信息的原理与上述客户端获取目标轨迹信息的原理相同。
该第一样本轨迹信息可以是由样本历史轨迹信息和样本预测轨迹信息构成的,该样本历史轨迹信息可以是虚拟模型在样本时刻关联的历史时段(与目标时刻关联的历史时段概念类似)的轨迹信息,客户端获取该样本历史轨迹信息的过程与上述客户端获取历史轨迹信息的过程相同。
同理,该样本预测轨迹信息可以是对样本初始预测轨迹信息和在样本时刻针对虚拟模型的样本运动指令信息进行结合得到的,该样本初始预测轨迹信息是调用预测网络预测的虚拟模型在样本时刻关联的未来时段(与目标时刻关联的未来时段的概念类似)的轨迹信息,该样本初始预测轨迹信息的概念与上述初始预测轨迹信息的概念类似,两者获取的原理也是相同的。该样本运动指令信息与上述运动指令信息的概念也是相似的。
因此,客户端通过样本初始预测轨迹信息和在样本时刻针对虚拟模型的样本运动指令信息得到样本预测轨迹信息的过程,与上述客户端通过初始预测轨迹信息和在目标时刻针对虚拟模型的运动指令信息得到预测轨迹信息的过程(即原理),是相同的。客户端可以是通过服务器下发的预测网络的网络参数预测的该样本初始预测轨迹信息,该样本初始预测轨迹信息可以是在样本时刻的上一时刻,确定虚拟模型在样本时刻的模型姿态的过程中一并预测得到的,可以是上述图3对应实施例中公式(8)的原理。
其中,在训练过程由于没有用户(如游戏玩家)输入的运动指令,因此,可以让客户端自动模拟每隔一段时间(如3秒)就更换一个运动指令,以在不同时间得到不同的样本运动指令,让虚拟模型进行相应地运动(即做出相应的动作),以获取大量用于对网络进行训练的数据。
客户端可以将获取到的该第一样本轨迹信息上传给服务器,服务器就可以获取到该第一样本轨迹信息。
步骤S202,获取虚拟模型在样本时刻的样本状态信息;样本状态信息用于指示虚拟模型在样本时刻的模型姿态。
具体的,服务器还可以获取虚拟模型在样本时刻的样本状态信息,该样本状态信息可以用于指示虚拟模型在样本时刻的模型姿态。该样本状态信息的概念与上述目标状态信息的概念类似。客户端获取样本状态信息的原理与客户端获取上述目标状态信息的原理相同,具体可以参见上述图3对应实施例中的相关描述。
其中,该样本状态信息可以是由客户端对虚拟模型在样本时刻的模型姿态进行状态提取所得到的,客户端可以将获取的该样本状态信息给到服务器,服务器就可以获取到虚拟模型在样本时刻的样本状态信息。
步骤S203,获取虚拟模型在样本时刻的样本动作信息;样本动作信息是调用预测网络基于第一样本轨迹信息和样本状态信息进行拟合得到的;样本动作信息用于指示虚拟模型从样本时刻到样本时刻的下一时刻的运动方式。
具体的,服务器还可以虚拟模型在样本时刻的样本动作信息,该样本动作信息可以是由客户端调用预测网络基于上述第一样本轨迹信息和样本状态信息进行拟合得到的,该样本动作信息可以用于指示虚拟模型从样本时刻到样本时刻的下一时刻的运动方式。
该样本动作信息与上述图3对应实施例中的动作信息的概念是类似的。客户端调用预测网络基于上述第一样本轨迹信息和样本状态信息拟合得到该样本动作信息的原理,与上述客户端调用训练好的预测网络基于上述目标轨迹信息和目标状态信息拟合得到动作信息的原理,是相同的,具体可以参见上述图3对应实施例中的相关描述。
客户端在通过第一样本轨迹信息和样本状态信息拟合得到该样本动作信息后,可以将该样本动作信息上传给服务器,服务器就可以获取到该样本动作信息。
步骤S204,获取虚拟模型在样本时刻的下一时刻的状态信息;虚拟模型在样本时刻的下一时刻的状态信息是基于样本动作信息和样本状态信息确定的。
具体的,服务器还可以获取虚拟模型在样本时刻的下一时刻的状态信息(可以简称为样本时刻的下一时刻的状态信息),虚拟模型在样本时刻的下一时刻的状态信息可以是由客户端基于样本动作信息和样本状态信息所确定的。
首先,客户端可以根据该样本动作信息和样本状态信息确定虚拟模型在样本时刻的下一时刻的模型姿态,进而,客户端就可以对虚拟模型在样本时刻的下一时刻的模型姿态进行状态提取,即可得到虚拟模型在样本时刻的下一时刻的模型姿态。
其中,客户端通过样本动作信息和样本状态信息确定虚拟模型在样本时刻的下一时刻的模型姿态的原理,与上述客户端通过动作信息和目标状态信息确定虚拟模型在目标时刻的下一时刻的模型姿态的原理是相同的,可以参见上述图3对应实施例中的相关描述。
步骤S205,基于第一样本轨迹信息、样本状态信息、样本动作信息、及虚拟模型在样本时刻的下一时刻的状态信息,修正预测网络的网络参数,得到训练好的预测网络。
具体的,服务器可以基于上述得到的第一样本轨迹信息、样本状态信息、样本动作信息以及虚拟模型在样本时刻的下一时刻的状态信息,来修正预测网络的网络参数,如下述内容描述。
服务器还可以获取虚拟模型在样本时刻的下一时刻的样本轨迹信息,可以将虚拟模型在样本时刻的下一时刻的样本轨迹信息称之为是第二样本轨迹信息。该第二样本轨迹信息用于指示虚拟模型在样本时刻的下一时刻关联的历史时段和未来时段的轨迹信息。其中,该第二样本轨迹信息也可以是由客户端生成,该第二样本轨迹信息与上述第一样本轨迹信息概念类似,只是一个是在样本时刻的下一时刻的,一个是在样本时刻的。服务器获取虚拟模型在样本时刻的下一时刻的第二样本轨迹信息的原理,与上述服务器获取虚拟在样本时刻的第一样本轨迹信息的原理,是相同的。用于生成该第二样本轨迹信息的样本预测轨迹信息可以是由客户端在生成上述样本动作信息的过程中通过预测网络一并预测得到的,可以是上述图3对应实施例中公式(8)的原理。
本申请中共可以具有3个网络,除了最主要的预测网络之外,还可以具有判别网络和价值网络,该判别网络和价值网络可以用于辅助(或称协助)预测网络进行训练,该判别网络用于判别状态。在对预测网络进行训练的过程中,预测网络的网络参数、判别网络的网络参数和价值网络的网络参数均为进行更新和修正,具体可以参见下述内容描述。
可选的,第一样本轨迹信息和样本状态信息可以一起用于指示虚拟模型在样本时刻的运动状态(可以称为第一运动状态),第二样本轨迹信息和虚拟模型在样本时刻的下一时刻的状态信息可以一起用于指示虚拟模型在样本时刻的下一时刻的运动状态(可以称为第二运动状态),第一运动状态和第二运动状态可以构成一个状态转移对,该状态转移对可以是由和构成,表示样本时刻,表示虚拟模型在样本时刻的上述样本状态信息,表示虚拟模型在样本时刻的第一样本轨迹信息;表示样本时刻的下一时刻,表示虚拟模型在样本时刻的下一时刻的状态信息,表示虚拟模型在样本时刻的下一时刻的上述第二样本轨迹信息。
因此,服务器可以调用判别网络基于上述虚拟模型在样本时刻的第一样本轨迹信息、虚拟模型在样本时刻的样本状态信息、虚拟模型在样本时刻的下一时刻的第二样本轨迹信息、虚拟模型在样本时刻的下一时刻的状态信息,判别虚拟模型从该样本状态信息指示的运动状态(即样本时刻的运动状态,如上述第一运动状态),转移到样本时刻的下一时刻的状态信息指示的运动状态(即样本时刻的下一时刻的运动状态,如上述第二运动状态)的状态转移类型,即判别由第一运动状态转移到第二运动状态的状态转移类型,得到第一判别值。
其中,状态转移类型可以包含两种,一种是真实对象(如真人)在运动过程中的状态转移类型(即真实的状态转移类型),一种是模拟的虚拟模型在运动过程中的状态转移类型(即模拟的状态转移类型)。上述虚拟模型由第一运动状态转移到第二运动状态的状态转移对由于是通过预测网络模拟的,因此该状态转移对的状态转移类型实际上就为模拟的状态转移类型。
因此,该第一判别值用于表征判别网络判别的、虚拟模型从样本时刻的运动状态转移到样本时刻的下一时刻的运动状态的状态转移类型是真实的状态转移类型的偏向程度,其实也可以理解为第一判别值用于表征判别网络判别的、虚拟模型从样本时刻的运动状态转移到样本时刻的下一时刻的运动状态的状态转移类型是模拟的状态转移类型的偏向程度。
可选的,判别网络对状态转移类型进行判别得到的判别值可以是在-1到1范围内,本申请中,对判别网络进行训练的期望是:让判别网络对输入的是通过预测网络模拟的状态转移对的状态转移类型的判别值更趋近于-1,并让判别网络对输入的是在动捕数据集中采集的状态转移对的状态转移类型的判别值更趋近于1。因此,若判别网络对某个状态转移对的状态转移类型的判别值越趋近于-1,则表明判别网络判别出的该状态转移对的状态转移类型越趋近于是模拟的状态转移类型,反之,若判别网络对某个状态转移对的状态转移类型的判别值越趋近于1,则表明判别网络判别出的该状态转移对的状态转移类型越趋近于是真实的状态转移类型。
其中,上述动捕数据集包括对真人在运动过程(可以是做出任意步态的任意运动)中的相关运动参数(如运动位置、运动方向、运动速度)进行采集得到的实际的运动数据。真实的状态转移对就可以在该动捕数据集中进行采集得到,真实的状态转移对与上述模拟的状态转移对(如由和构成的状态转移对)的格式可以是相同的,只是数据来源不同。
如下述公式的原理所示,判别网络对状态转移对的状态转移类型进行判别以得到判别值的过程可以包括:
其中,、、、均为中间变量。上述公式中的12个矩阵W21~W32和12个向量b21~b32均为判别网络的网络参数。为对状态转移对(由和构成的模拟的状态转移对)的状态转移类型进行判别后得到的判别值(如可以是上述第一判别值),的维度为1,。表示对和拼接得到的向量,表示对和拼接得到的向量。
更多的,本申请还可以将真实的状态转移对(来自于动捕数据集)输入判别网络,以调用判别网络对该真实的状态转移对的状态转移类型进行判别,并得到对应的判别值。判别网络对该真实的状态转移对进行判别的原理与对上述模拟的状态转移对进行盘被的原理相同,都为上述公式(10)~(14)所示的原理。
其中,可以将真实的状态转移对中,前一个时刻的状态信息称之为是第一状态信息(概念与上述类似),后一个时刻的状态信息称之为是第二状态信息(概念与上述类似),该第一状态信息和第二状态信息都为在真实对象运动过程中采集的真实的状态信息。因此,服务器可以调用判别网络判别真实对象在运动过程中从该第一状态信息指示的运动状态转移到第二状态信息指示的运动状态的状态转移类型,得到第二判别值。
该第二判别值就为判别网络对真实的状态转移对的状态转移类型进行判别得到的判别值,该第二判别值可以用于表征判别网络判别的该真实的状态转移对的状态转移类型是真实或者模拟的状态转移类型的偏向程度。
服务器可以通过上述得到的第一判别值和第二判别值生成判别网络针对状态转移类型的判别偏差。如下述公式,该判别偏差可以是:
真实的状态转移对也可以采集有多个。可以是第一状态信息,可以是第二状态信息,可以是真实对象运动过程中的任意时刻,的概念与的概念类似,的概念与的概念类似,因此,可以理解的是,可以表示真实的状态转移对,表示判别网络对真实的状态转移对的状态转移类型的判别值(如上述第二判别值),表示判别网络对各个真实的状态转移对的状态转移类型的判别偏差之和,LD就表示判别网络针对状态转移类型总的判别偏差(即判别网络整体的判别偏差)。
在通过判别网络协助对预测网络进行训练的每一轮过程中,服务器都可以采用每轮训练的判别偏差LD修正判别网络的网络参数,以使得判别偏差LD趋于最小值(如趋于0),以此训练判别网络可以更准确地对状态转移对的状态转移类型进行判别。
更多的,服务器此轮(由于对各个网络可以进行多轮迭代训练,此轮可以是在训练过程中对网络的任一轮训练)在通过判别网络针对模拟的状态转移对的判别值(如上述第一判别值)对判别网络的网络参数进行修正之后,可以采用当前进行网络参数修正后的判别网络重新对上述获取到的模拟的状态转移对的状态转移类型进行判别,以得到更新判别值。
服务器可以采用该更新判别值来计算虚拟模型从样本状态信息指示的运动状态转移到样本时刻的下一时刻的状态信息指示的运动状态的状态转移奖励值,如下述公式所示:
可以理解的是,当预测网络被训练得很好时,客户端就可以通过预测网络控制虚拟模型做出与真实对象的动作非常相似的动作,此时客户端产生的状态转移对就能够迷惑判别网络(即判别器),使判别网络针对模拟的状态转移对的输出(即判别值)从-1慢慢向1靠拢,因此,由上述公式可知,若判别的针对模拟的状态转移对的判别值(如更新判别值)越趋近于1,则可以给预测网络更大的奖励,状态转移奖励值也就越大,反之,若判别的针对模拟的状态转移对的判别值(如更新判别值)越趋近于-1,则可以给预测网络更小的奖励,状态转移奖励值也就越小。
后续,服务器可以结合上该状态转移奖励值来生成价值网络的价值评估偏差(即价值网络的损失函数)和预测网络的预测偏差(即预测网络的损失函数),如下述内容描述。
服务器还可以调用价值网络评估样本状态信息的状态价值(可以称为第一状态价值),并可以调用价值网络评估虚拟模型在样本时刻的下一时刻的状态信息的状态价值(可以称为第二状态价值)。顾名思义,状态信息的状态价值就为状态信息的价值,状态信息的状态价值越高,表明状态信息所指示的模型姿态的动作越合理(即越准确),反之,状态信息的状态价值越低,表明状态信息所指示的模型姿态的动作越不合理(即越不准确)。如下述公式所示,计算样本状态信息的第一状态价值的原理可以是:
其中,CC、H3和H4均为中间变量,sigmoid是激活函数。10个矩阵W11~W20和10个向量b11~b20均为价值网络的网络参数。表示对和拼接得到的向量。即为调用价值网络评估得到的样本状态信息的状态价值(即第一状态价值)。
其中,可以由上述得到的状态转移奖励值与价值网络评估的样本状态信息的状态价值(即第一状态价值)来生成价值网络针对状态信息的评估偏差(可以称为价值评估偏差)。如下述公式(21)所示,该价值评估偏差Lv可以为:
由于训练过程中可以有若干个,该若干个可以是在不同样本时刻采集到的,因此,求和符号∑表示对该若干对应的评估偏差进行求和,就可以得到价值网络总的价值评估偏差Lv。训练过程中,就需要修正价值网络的网络参数,使得价值评估偏差Lv趋于最小(如趋于0)。其目的就可以是让价值网络评估的虚拟模型在样本时刻的样本状态信息的状态价值与在样本时刻给虚拟模型进行状态转移的奖励是差不多的,使得价值网络可以对状态信息的状态价值进行更准确的评估。
其中,对预测网络的每轮训练也会对价值网络进行训练,即修正价值网络的网络参数,进而使用进行网络参数修正后的价值网络继续在下一轮协助预测网络进行迭代训练,直到训练得到的预测网络可以模拟出虚拟模型很准确且效果优异的模型姿态。
更多的,通过上述得到的第一状态价值、第二状态价值、状态转移奖励值以及样本动作信息,可以生成预测网络的预测偏差(如针对样本预测轨迹信息和样本动作信息的预测偏差),如下述内容描述。
首先,服务器可以通过第一状态价值、第二状态价值、状态转移奖励值生成虚拟模型从样本时刻到样本时刻的下一时刻的状态改善值(也可以理解为是虚拟模型在样本时刻的下一时刻的状态信息的状态优势值),顾名思义,该状态改善值用于表征虚拟模型从样本时刻到样本时刻的下一时刻针对状态信息的改善,即针对模型姿态(动作)的改善。如下述公式所示,该状态改善值可以是:
其中,表示样本时刻的样本动作信息,获取的原理与获取上述图3对应实施例中的动作信息的原理相同。此处同理,由于训练过程中可以有若干个,该若干个可以是在不同样本时刻采集到的,因此,求和符号∑表示对该若干对应的预测偏差进行求和,就可以得到价值网络总的预测偏差。
通过图3对应实施例中获取动作信息的过程可知,动作信息是通过训练好的预测网络根据目标轨迹信息和目标状态信息拟合出的高斯均值得到的,因此,同理,此处预测网络也可以基于第一样本轨迹信息和样本状态信息,拟合得到用于表征虚拟模型从样本时刻到样本时刻的下一时刻的运动动作的样本高斯均值(与图3对应实施例中的高斯均值概念类似,其获取原理相同),样本动作信息也是在该样本高斯均值的基础上加上采样得到的样本高斯随机数(与图3中采样高斯随机数的原理相同)后得到的。
通过上述得到的预测偏差就可以对预测网络的网络参数进行修正,使得预测偏差趋于最小(如趋于0)。上述公式(23)的预测偏差就表示希望预测网络拟合出的样本高斯均值直接就与样本动作信息差不多,即直接预测出准确的差不多可以作为样本动作信息的样本高斯分布,而不需要加入过多的样本高斯随机数。
其中,样本高斯均值可以是一个多维的向量,样本动作信息可以是根据样本高斯均值得到的动作向量,可以将该动作向量与样本高斯均值之间的差值作为是预测网络针对动作向量的拟合偏差。上述预测偏差就是基于该拟合偏差和状态改善值得到,通过在预测偏差中加入状态改善值,也可以实现引入价值网络和判别网络对预测网络进行协助训练的目的。
可选的,本申请中,上述价值网络和预测网络均可以是门控网络结构,判别网络可以是半门控+半全连接神经网络结构。由于门控网络具有表征能力强,表征效率高的特性,因此本申请通过引入门控网络和半门控网络不仅可以提高网络(如价值网络、判别网络、预测网络)对于输入参数(输入网络的参数)的特征的学习效率,并可以学习到输入参数准确且优异的特征,以此可以训练得到更准确的网络。
通过上述所描述的原理,可以对预测网络、价值网络和判别网络进行多轮的迭代训练。可选的,当训练到预测网络可以准确模拟虚拟模型的模型姿态时,如观察到客户端中虚拟模型的运动比较真实、准确和流畅,或者对预测网络的网络参数训练至收敛,或者是对预测网络的训练轮次达到次数阈值,则可以认为预测网络训练完成,此时训练得到的预测网络就为训练好的预测网络,可以用于模拟虚拟模型的模型姿态,驱动虚拟模型进行运动,如用于实现上述图3对应实施例中描述的过程。
请参见图9,图9是本申请提供的一种网络训练的场景示意图。如图9所示,本申请可以向价值网络输入第一样本轨迹信息、第二样本轨迹信息、样本状态信息以及虚拟模型在样本时刻的下一时刻的状态信息,并可以向判别网络输入模拟的状态转移对和真实的状态转移对,还可以向预测网络输入第一样本轨迹信息和样本状态信息,以实现通过价值网络和判别网络协助预测网络进行训练的目的,训练好的预测网络就可以用于模拟虚拟模型的模型姿态。
服务器在训练过程中可以将每轮训练后进行网络参数修正的预测网络的网络参数发送给客户端,使得客户端可以通过物理引擎驱动虚拟模型进行运动,并可以由客户端来采集每轮对预测网络进行网络参数修正需要的相关参数(如上述第一样本轨迹信息、样本动作信息、虚拟模型在样本时刻的下一时刻的状态信息),客户端可以将该参数上传给服务器,使得服务器可以基于客户端上传的该参数对预测网络进行上述过程的网络参数修正,以此类推,不断迭代训练。训练过程中,服务器无需将价值网络的网络参数和判别网络的网络参数发送给客户端,以节省与客户端之间的通讯时间和通讯开销,价值网络和判别网络只需要在服务器侧协助预测网络进行训练即可。
当训练得到训练好的预测网络后,服务器也可以将该训练好的预测网络的网络参数发送给各个用户(如游戏用户)的客户端(如图3对应实施例中的客户端),可以理解为将训练好的预测网络发送给各个用户的客户端,后续各个用户的客户端就可以通过该训练好的预测网络,让虚拟模型根据用户的相关运动指令(如运动指令信息)进行运动。
采用本申请提供的方法,就可以通过价值网络和判别网络对预测网络进行协助训练,通过训练好的预测网络就可以实现对虚拟模型的模型姿态的准确预测,进而驱动虚拟模型进行相应的运动。
采用本申请的算法(如通过预测网络模拟模型姿态的算法),无需使用额外人工标注的动捕数据,可以训练基于数据驱动的控制器(如具有预测网络的物理引擎),用来生成带有物理模拟的、受玩家实时操控的双足角色动画,弥补了现有算法对多步态区分度不足的缺陷。并且,利用客户端UE的物理模拟器(如物理引擎)对预测网络进行强化学习可以训练得到有助于模拟复杂的模型姿态的预测网络,最终能够生成带有动力学模拟的高质量动画,若应用在游戏场景中(如虚拟模型是游戏角色),这不仅可以减轻游戏开发工作,而且可以缩短游戏开发流程。
请参见图10,图10是本申请提供的一种网络训练方法的流程示意图。如图10所示,该流程包括:
1.在开始对预测网络、判别网络和价值网络进行训练时,服务器可以对预测网络的网络参数、判别网络的网络参数和价值网络的网络参数进行随机初始化。
2.服务器可以将预测网络的网络参数下发给客户端UE。
3.服务器可以获取到UE上传的第一样本轨迹信息、样本状态信息和样本动作信息,该第一样本轨迹信息和样本动作信息可以是客户端通过预测网络得到的,该样本状态信息可以是UE本地记录的。
4.服务器可以判别样本数量是否足够,由于可以对网络进行多轮训练,每轮可以同时采用多个样本一起对网络进行训练,因此,该样本数量可以是指不同样本时刻的样本(包括第一样本轨迹信息、样本状态信息和样本动作信息),一个样本时刻可以对应一个样本。
若服务器判别出样本数量足够(如大于或等于样本数量阈值),则可以执行下述步骤5,若服务器判别出样本数量不够(如小于样本数量阈值),则可以再次执行上述步骤2。
5.服务器可以根据获取的样本估算判别网络的梯度,即计算判别网络的损失函数(如上述判别偏差)。
6.服务器可以将判别网络的梯度(判别偏差所指示的梯度)给到主进程(用于修正网络参数的进程),使得主进程可以对判别网络进行梯度下降以更新判别网络的网络参数,并可以将更新后的判别网络的网络参数下发到分进程(可以是计算梯度的进程)。
7.进而,分进程可以为所有样本(此轮所有样本)计算奖励值(即上述状态转移奖励值)。
8.分进程还可以为所有样本计算优势值(即上述状态改善值)。
9.通过上述计算得到的奖励值和优势值可以估算预测网络的梯度和价值网络的梯度,分进程可以将预测网络的梯度和价值网络的梯度给到主进程。
10.主进程可以分别对预测网络和价值网络进行梯度下降,以更新预测网络的网络参数和价值网络的网络参数,并可以将更新后的预测网络的网络参数和更新后的价值网络的网络参数下发给分进程。
11.此处评估动画效果是否达标,若达标,则可以执行下述步骤12,若不达标,则可以继续迭代执行上述步骤2,以继续更新预测网络、判别网络和价值网络的网络参数。
12.保存此时训练得到的预测网络的网络参数,该网络参数也就是训练好的预测网络的网络参数。
通过上述过程,即实现了在服务器侧结合客户端侧对预测网络进行训练的目的。
再请参见图11,图11是本申请提供的另一种网络训练方法的流程示意图。如图10所示,该流程包括:
1.客户端UE接收到服务器发送的预测网络的网络参数。
2.UE可以获取此时的样本初始预测轨迹信息,如在样本时刻的上一时刻预测的虚拟模型在样本时刻关联的未来时段的轨迹信息。
3.UE可以对此时的样本初始预测轨迹信息融合玩家指令(如样本运动指令信息),得到样本预测轨迹信息,并可以将该样本预测轨迹信息与此时的样本历史轨迹信息(如虚拟模型在样本时刻关联的历史时段实际的轨迹信息)进行拼接,以得到第一样本轨迹信息。
4.UE可以运行预测网络,通过该第一样本轨迹信息和样本状态信息(客户端记录的虚拟模型在样本时刻的状态信息),拟合得到样本动作信息和在下一时刻(如样本时刻的下一时刻)的样本初始预测轨迹信息,根据该下一时刻的样本初始预测轨迹信息可以获取到上述第二样本轨迹信息。
5.UE可以通过物理引擎执行命令(即样本动作信息的命令),得到虚拟模型在下一时刻的模型姿态,并可以从该下一时刻的模型姿态提取得到虚拟模型在该下一时刻的状态信息。
6.UE可以将上述得到的第一样本轨迹信息、样本状态信息、样本动作信息上传给服务器,还可以将虚拟模型在下一时刻的状态信息和第二样本轨迹信息也上传给服务器,使得服务器可以基于这些信息更新预测网络、判别网络和价值网络的网络参数,即训练预测网络、判别网络和价值网络。
7.UE可以判断当前轨迹是否结束,判别当前轨迹是否结束可以是判断当前需要虚拟模型做出的动作是否完成(UE具有判别虚拟模型当前动作是否完成的相关策略),若完成,则可以执行下述步骤8,若未完成,则可以继续在当前的下一时刻执行上述步骤3,以此类推,采用此种方式,可以将虚拟模型做出一个动作的过程中采集到的样本作为对网络进行同一轮训练的样本。
8.UE可以继续获取服务器上传的在此轮训练后预测网络更新后的网络参数,并继续执行上述所描述的各个步骤,以此实现对网络的多轮迭代训练。
通过上述过程,即实现了通过客户端侧的物理引擎辅助服务器侧快速准确地对网络进行训练的目的。
请参见图12,图12是本申请提供的一种游戏数据处理方法的流程示意图。本申请实施例的执行主体可以是游戏客户端。如图12所示,该方法可以包括:
步骤S301,获取游戏角色在目标时刻的目标轨迹信息;目标轨迹信息用于指示游戏角色在目标时刻关联的历史时段和未来时段的轨迹信息。
具体的,上述虚拟模型可以是游戏中的游戏角色,目标时刻可以是游戏角色的游戏过程中的任一个时刻。在游戏过程中,游戏玩家(如用户,可以称为游戏对象)可以对游戏角色下发相应的运动指令信息,该运动指令信息就可以用于指示游戏角色进行相应的运动。其中,游戏角色在游戏过程中可以是游戏的虚拟游戏场景中进行运动。
首先,游戏客户端可以通过训练好的预测网络所预测的游戏角色在目标时刻关联的未来时刻的初始预测轨迹信息,对该运动指令信息进行特征维度的扩展,以得到预测轨迹信息。获取该预测轨迹信息的过程也可以参见上述图3对应实施例中对步骤S101的具体描述,此处不再进行赘述。
进而,游戏客户端还可以获取到记录的游戏角色在目标时刻关联的历史时段的轨迹信息(即历史轨迹信息)。游戏客户端可以对游戏角色的预测轨迹信息和历史轨迹信息进行拼接,即可得到游戏角色在目标时刻的目标轨迹信息。
该目标轨迹信息就可以同时表征游戏角色在目标时刻关联的未来时段和历史时段的轨迹信息。
步骤S302,获取游戏角色在目标时刻的目标状态信息;目标状态信息用于指示游戏角色在目标时刻的角色姿态。
具体的,游戏客户端可以获取游戏角色在目标时刻的目标状态信息,该目标状态信息可以用于指示游戏角色在目标时刻的角色姿态(同上述模型姿态),换句话说,该目标状态信息可以用于指示游戏角色在目标时刻做出的姿势和动作。
其中,获取游戏角色在目标时刻的目标状态信息的过程也可以参见上述图3对应实施例中对步骤S102的具体描述。
步骤S303,基于目标轨迹信息和目标状态信息,生成游戏角色在目标时刻的动作信息;动作信息用于指示游戏角色从目标时刻到目标时刻的下一时刻的运动方式。
具体的,游戏客户端可以通过上述目标轨迹信息和目标状态信息,生成游戏角色在目标时刻的动作信息,该动作信息就可以用于指示游戏角色从目标时刻到目标时刻的下一时刻的运动方式,该动作信息的生成过程可以参见上述图3对应实施例中对步骤S103的具体描述。
步骤S304,基于动作信息和目标状态信息确定游戏角色在目标时刻的下一时刻的角色姿态,并将游戏角色由目标状态信息指示的角色姿态切换为目标时刻的下一时刻的角色姿态。
具体的,游戏客户端可以通过上述获取的游戏角色的动作信息和目标状态信息得到游戏角色在目标时刻的下一时刻的角色姿态,并可以将游戏角色在目标时刻的角色姿态(即目标状态信息指示的角色姿态)切换为在目标时刻的下一时刻的角色姿态,以此就实现了在游戏过程中的目标时刻让游戏角色按照指示的运动方式(如运动指令信息指示的运动方式)运动到了目标时刻的下一时刻。
通过上述所描述的原理,游戏客户端可以获取到游戏角色在游戏过程中的各个时刻的角色姿态,并可以按照各个时刻的先后顺序依次切换显示游戏角色在各个时刻的角色姿态,以此就实现了游戏角色在游戏过程中的动画生成,生成的该动画就是由游戏角色在虚拟游戏场景中运动(可以理解为变换)的每帧(即每个时刻)角色姿态构成。
采用本申请提供的方法,可以在游戏场景中,让游戏角色在游戏过程中按照指示的运动方式进行准确且细致的运动,也就是让游戏角色按照指示的方式(如运动指令信息指示的方式)进行准确且细致的角色姿态变换,提高在游戏过程中对游戏角色的操控准确性和流畅性。
请参见图13,图13是本申请提供的一种虚拟模型的数据处理装置的结构示意图。该虚拟模型的数据处理装置可以是运行于计算机设备中的一个计算机程序(包括程序代码),例如该虚拟模型的数据处理装置为一个应用软件,该虚拟模型的数据处理装置可以用于执行本申请实施例提供的方法中的相应步骤。如图13所示,该虚拟模型的数据处理装置1可以包括:第一获取模块11、第二获取模块12、生成模块13、确定模块14。
第一获取模块11,用于获取虚拟模型在目标时刻的目标轨迹信息;目标轨迹信息用于指示虚拟模型在目标时刻关联的历史时段和未来时段的轨迹信息;
第二获取模块12,用于获取虚拟模型在目标时刻的目标状态信息;目标状态信息用于指示虚拟模型在目标时刻的模型姿态;
生成模块13,用于基于目标轨迹信息和目标状态信息,生成虚拟模型在目标时刻的动作信息;动作信息用于指示虚拟模型从目标时刻到目标时刻的下一时刻的运动方式;
确定模块14,用于基于动作信息和目标状态信息确定虚拟模型在目标时刻的下一时刻的模型姿态,并将虚拟模型由目标状态信息指示的模型姿态切换为目标时刻的下一时刻的模型姿态。
可选的,目标轨迹信息是基于历史轨迹信息和预测轨迹信息构成的;
其中,历史轨迹信息是虚拟模型在目标时刻关联的历史时段的轨迹信息;预测轨迹信息是对初始预测轨迹信息和在目标时刻针对虚拟模型的运动指令信息进行结合后得到的,初始预测轨迹信息是调用训练好的预测网络预测的虚拟模型在目标时刻关联的未来时段的轨迹信息。
可选的,上述装置1还用于:
在目标时刻关联的历史时段获取N个历史参考时间点;N为正整数;
获取虚拟模型在N个历史参考时间点中每个历史参考时间点的运动位置信息、运动方向信息及运动速度信息;
基于虚拟模型在每个历史参考时间点的运动位置信息、运动方向信息及运动速度信息,生成历史轨迹信息。
可选的,初始预测轨迹信息是在目标时刻的上一时刻确定虚拟模型在目标时刻的模型姿态的过程中,调用训练好的预测网络预测得到的;
其中,目标时刻关联的未来时段包含M个未来参考时间点,M为正整数,初始预测轨迹信息是由预测的虚拟模型在每个未来参考时间点的运动位置信息、运动方向信息及运动速度信息构成。
可选的,运动指令信息包含指示虚拟模型进行运动的方向信息及速度信息;
上述装置1还用于:
基于运动指令信息中的方向信息,对初始预测轨迹信息中虚拟模型在每个未来参考时间点的运动方向信息进行偏置处理,得到虚拟模型在每个未来参考时间点的偏置方向信息;
基于运动指令信息中的方向信息和速度信息,对初始预测轨迹信息中虚拟模型在每个未来参考时间点的运动速度信息进行偏置处理,得到虚拟模型在每个未来参考时间点的偏置速度信息;
基于M个未来参考时间点的第i-1个未来参考时间点对应的偏置位置信息和偏置速度信息,对M个未来参考时间点的第i个未来参考时间点对应的运动位置信息进行偏置处理,得到虚拟模型在第i个未来参考时间点对应的偏置位置信息;i为小于或等于M的正整数;
基于虚拟模型在每个未来参考时间点的偏置方向信息、偏置速度信息和偏置位置信息,得到预测轨迹信息。
可选的,虚拟模型具有建模的多个模型关节;
第二获取模块12获取虚拟模型在目标时刻的目标状态信息的方式,包括:
获取虚拟模型的每个模型关节分别对应的一个或多个转动自由度;
计算在目标时刻虚拟模型的每个模型关节在对应的每个转动自由度下的转动角度;
基于每个模型关节在对应的每个转动自由度下的转动角度,生成目标状态信息。
可选的,虚拟模型具有建模的多个模型关节;每个模型关节均具有对应的一个或多个转动自由度;
生成模块13基于目标轨迹信息和目标状态信息,生成虚拟模型在目标时刻的动作信息的方式,包括:
调用训练好的预测网络根据目标轨迹信息和目标状态信息,拟合虚拟模型的每个模型关节在对应的每个转动自由度下,由目标时刻运动到目标时刻的下一时刻的参考转动角度;
基于拟合的每个模型关节在对应每个转动自由度下的参考转动角度,生成动作信息。
可选的,生成模块13调用训练好的预测网络根据目标轨迹信息和目标状态信息,拟合虚拟模型的每个模型关节在对应的每个转动自由度下,从目标时刻运动到目标时刻的下一时刻的参考转动角度的方式,包括:
调用训练好的预测网络基于目标轨迹信息和目标状态信息,拟合用于表征每个模型关节在对应每个转动自由度下,从目标时刻到目标时刻的下一时刻的运动动作的高斯均值;高斯均值包含多个维度的元素值,高斯均值中一个维度的元素值用于表征一个模型关节在对应一个转动自由度上的运动动作;
获取由高斯均值确定的目标高斯分布,并针对高斯均值的每个维度分别对目标高斯分布进行随机采样,得到每个维度分别对应的高斯随机数;
分别对每个维度对应的元素值和高斯随机数进行加和,得到每个模型关节在对应的每个转动自由度下的参考转动角度;一个参考转动角度是对应维度所属元素值和高斯随机数的加和值。
可选的,虚拟模型属于游戏中的虚拟角色;运动指令信息是在游戏过程中对虚拟角色下发的用于指示虚拟角色进行运动的信息,虚拟角色用于在游戏的虚拟场景中进行运动;
确定模块14将虚拟模型由目标状态信息指示的运动姿态显示到目标时刻的下一时刻的运动姿态的方式,包括:
在游戏过程中,将虚拟角色在虚拟场景中的模型姿态由目标状态信息指示的模型姿态切换显示为目标时刻的下一时刻的模型姿态。
可选的,上述装置1还用于:
将目标时刻的下一时刻确定为待定时刻;
对虚拟模型在待定时刻的模型姿态进行状态提取,得到虚拟模型在待定时刻的状态信息;
其中,提取的虚拟模型在待定时刻的状态信息用于确定虚拟模型在待定时刻的下一时刻的模型姿态。
根据本申请的一个实施例,图3所示的虚拟模型的数据处理方法所涉及的步骤可由图13所示的虚拟模型的数据处理装置1中的各个模块来执行。例如,图3中所示的步骤S101可由图13中的第一获取模块11来执行,图3中所示的步骤S102可由图13中的第二获取模块12来执行;图3中所示的步骤S103可由图13中的生成模块13来执行,图3中所示的步骤S104可由图13中的确定模块14来执行。
本申请提出的装置可以采用虚拟模型在目标时刻的目标轨迹信息结合上虚拟模型在目标时刻的目标状态信息,来生成虚拟模型在目标时刻的动作信息,由于该目标轨迹信息还是同时考虑到虚拟模型在目标时刻关联的历史时段和未来时段的多维度的轨迹信息,因此,通过该目标轨迹信息可以生成虚拟模型在目标时刻准确的动作信息,进而,通过该准确的动作信息也可以确定虚拟模型在目标时刻的下一时刻准确的模型姿态,通过该准确的模型姿态也可以实现对虚拟模型的模型姿态进行准确切换的效果。
根据本申请的一个实施例,图13所示的虚拟模型的数据处理装置1中的各个模块可以分别或全部合并为一个或若干个单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的多个子单元,可以实现同样的操作,而不影响本申请的实施例的技术效果的实现。上述模块是基于逻辑功能划分的,在实际应用中,一个模块的功能也可以由多个单元来实现,或者多个模块的功能由一个单元实现。在本申请的其它实施例中,虚拟模型的数据处理装置1也可以包括其它单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由多个单元协作实现。
根据本申请的一个实施例,可以通过在包括中央处理单元(CPU)、随机存取存储介质(RAM)、只读存储介质(ROM)等处理元件和存储元件的例如计算机的通用计算机设备上运行能够执行如图3中所示的相应方法所涉及的各步骤的计算机程序(包括程序代码),来构造如图13中所示的虚拟模型的数据处理装置1,以及来实现本申请实施例的虚拟模型的数据处理方法。上述计算机程序可以记载于例如计算机可读记录介质上,并通过计算机可读记录介质装载于上述计算设备中,并在其中运行。
请参见图14,图14是本申请提供的一种虚拟模型的网络处理装置的结构示意图。该虚拟模型的网络处理装置可以是运行于计算机设备中的一个计算机程序(包括程序代码),例如该虚拟模型的网络处理装置为一个应用软件,该虚拟模型的网络处理装置可以用于执行本申请实施例提供的方法中的相应步骤。如图14所示,该虚拟模型的网络处理装置2可以包括:第三获取模块21、第四获取模块22、第五获取模块23、第六获取模块24、修正模块25。
第三获取模块21,用于获取虚拟模型在样本时刻的第一样本轨迹信息;第一样本轨迹信息用于指示虚拟模型在样本时刻关联的历史时段和未来时段的轨迹信息;
第四获取模块22,用于获取虚拟模型在样本时刻的样本状态信息;样本状态信息用于指示虚拟模型在样本时刻的模型姿态;
第五获取模块23,用于获取虚拟模型在样本时刻的样本动作信息;样本动作信息是调用预测网络基于第一样本轨迹信息和样本状态信息进行拟合得到的;样本动作信息用于指示虚拟模型从样本时刻到样本时刻的下一时刻的运动方式;
第六获取模块24,用于获取虚拟模型在样本时刻的下一时刻的状态信息;虚拟模型在样本时刻的下一时刻的状态信息是基于样本动作信息和样本状态信息确定的;
修正模块25,用于基于第一样本轨迹信息、样本状态信息、样本动作信息、及虚拟模型在样本时刻的下一时刻的状态信息,修正预测网络的网络参数,得到训练好的预测网络。
可选的,第一样本轨迹信息是基于样本历史轨迹信息和样本预测轨迹信息构成的;
样本历史轨迹信息是虚拟模型在样本时刻关联的历史时段的轨迹信息,样本预测轨迹信息是对样本初始预测轨迹信息和在样本时刻针对虚拟模型的样本运动指令信息进行结合后得到的,样本初始预测轨迹信息是调用预测网络预测的虚拟模型在样本时刻关联的未来时段的轨迹信息。
可选的,修正模块25基于第一样本轨迹信息、样本状态信息、样本动作信息、及虚拟模型在样本时刻的下一时刻的状态信息,修正预测网络的网络参数,得到训练好的预测网络的方式,包括:
获取虚拟模型在样本时刻的下一时刻的第二样本轨迹信息;第二样本轨迹信息用于指示虚拟模型在样本时刻的下一时刻关联的历史时段和未来时段的轨迹信息;
调用判别网络基于第一样本轨迹信息、样本状态信息、第二样本轨迹信息、及虚拟模型在样本时刻的下一时刻的状态信息,判别虚拟模型从样本状态信息指示的运动状态,转移到样本时刻的下一时刻的状态信息指示的运动状态的状态转移类型,得到第一判别值;第一判别值用于表征判别网络判别的该状态转移类型是真实对象运动过程中的状态转移类型的偏向程度;
基于第一判别值,生成虚拟模型从样本状态信息指示的运动状态转移到样本时刻的下一时刻的状态信息指示的运动状态的状态转移奖励值;
调用价值网络评估样本状态信息的第一状态价值,并调用价值网络评估虚拟模型在样本时刻的下一时刻的状态信息的第二状态价值;
基于第一状态价值、第二状态价值、转移奖励值和样本动作信息生成预测网络的预测偏差,并基于预测偏差修正预测网络的网络参数,得到训练好的预测网络。
可选的,修正模块25基于第一状态价值、第二状态价值、转移奖励值和样本动作信息生成预测网络的预测偏差的方式,包括:
基于第一状态价值、第二状态价值和状态转移奖励值,确定虚拟模型从样本时刻到样本时刻的下一时刻针对状态信息的状态改善值;
基于状态改善值和样本动作信息生成预测偏差。
可选的,预测网络用于基于第一样本轨迹信息和样本状态信息,拟合得到用于表征虚拟模型从样本时刻到样本时刻的下一时刻的运动动作的样本高斯均值,样本动作信息是基于样本高斯均值得到的动作向量;
修正模块25基于状态改善值和样本动作信息生成预测偏差的方式,包括:
获取动作向量与样本高斯均值之间的差值,并将差值作为针对动作向量的拟合偏差;
基于状态改善值和拟合偏差生成预测偏差。
可选的,上述装置2还用于:
调用判别网络判别真实对象在运动过程中从第一状态信息指示的运动状态转移到第二状态信息指示的运动状态的状态转移类型,得到第二判别值;第二判别值用于表征判别网络判别的该状态转移类型是真实对象运动过程中的状态转移类型的偏向程度;第一状态信息和第二状态信息是在真实对象运动过程中采集得到的;
基于第一判别值和第二判别值生成判别网络针对状态转移类型的判别偏差;
基于判别偏差修正判别网络的网络参数,得到网络参数修正后的判别网络;网络参数修正后的判别网络用于训练预测网络。
可选的,上述装置2还用于:
基于转移奖励值和第一状态价值生成价值网络针对状态信息的价值评估偏差;
基于价值评估偏差修正价值网络的网络参数,得到网络参数修正后的价值网络;网络参数修正后的价值网络用于训练预测网络。
根据本申请的一个实施例,图8所示的虚拟模型的网络处理方法所涉及的步骤可由图14所示的虚拟模型的网络处理装置2中的各个模块来执行。例如,图8中所示的步骤S201可由图14中的第三获取模块21来执行,图8中所示的步骤S202可由图14中的第四获取模块22来执行;图8中所示的步骤S203可由图14中的第五获取模块23来执行,图8中所示的步骤S204可由图14中的第六获取模块24来执行,图8中所示的步骤S205可由图14中的修正模块25来执行。
根据本申请的一个实施例,图14所示的虚拟模型的网络处理装置2中的各个模块可以分别或全部合并为一个或若干个单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的多个子单元,可以实现同样的操作,而不影响本申请的实施例的技术效果的实现。上述模块是基于逻辑功能划分的,在实际应用中,一个模块的功能也可以由多个单元来实现,或者多个模块的功能由一个单元实现。在本申请的其它实施例中,虚拟模型的网络处理装置2也可以包括其它单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由多个单元协作实现。
根据本申请的一个实施例,可以通过在包括中央处理单元(CPU)、随机存取存储介质(RAM)、只读存储介质(ROM)等处理元件和存储元件的例如计算机的通用计算机设备上运行能够执行如图8中所示的相应方法所涉及的各步骤的计算机程序(包括程序代码),来构造如图14中所示的虚拟模型的网络处理装置2,以及来实现本申请实施例的虚拟模型的数据处理方法。上述计算机程序可以记载于例如计算机可读记录介质上,并通过计算机可读记录介质装载于上述计算设备中,并在其中运行。
请参见图15,图15是本申请提供的一种计算机设备的结构示意图。如图15所示,计算机设备1000可以包括:处理器1001,网络接口1004和存储器1005,此外,计算机设备1000还可以包括:用户接口1003,和至少一个通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。其中,用户接口1003可以包括显示屏(Display)、键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器1005可选的还可以是至少一个位于远离前述处理器1001的存储装置。如图15所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及设备控制应用程序。
在图15所示的计算机设备1000中,网络接口1004可提供网络通讯功能;而用户接口1003主要用于为用户提供输入的接口;而处理器1001可以用于调用存储器1005中存储的设备控制应用程序,以实现:
获取虚拟模型在目标时刻的目标轨迹信息;目标轨迹信息用于指示虚拟模型在目标时刻关联的历史时段和未来时段的轨迹信息;
获取虚拟模型在目标时刻的目标状态信息;目标状态信息用于指示虚拟模型在目标时刻的模型姿态;
基于目标轨迹信息和目标状态信息,生成虚拟模型在目标时刻的动作信息;动作信息用于指示虚拟模型从目标时刻到目标时刻的下一时刻的运动方式;
基于动作信息和目标状态信息确定虚拟模型在目标时刻的下一时刻的模型姿态,并将虚拟模型由目标状态信息指示的模型姿态切换为目标时刻的下一时刻的模型姿态。
在一种可行的实施方式中,处理器1001还可以用于调用存储器1005中存储的设备控制应用程序,以实现:
获取虚拟模型在样本时刻的第一样本轨迹信息;第一样本轨迹信息用于指示虚拟模型在样本时刻关联的历史时段和未来时段的轨迹信息;
获取虚拟模型在样本时刻的样本状态信息;样本状态信息用于指示虚拟模型在样本时刻的模型姿态;
获取虚拟模型在样本时刻的样本动作信息;样本动作信息是调用预测网络基于第一样本轨迹信息和样本状态信息进行拟合得到的;样本动作信息用于指示虚拟模型从样本时刻到样本时刻的下一时刻的运动方式;
获取虚拟模型在样本时刻的下一时刻的状态信息;虚拟模型在样本时刻的下一时刻的状态信息是基于样本动作信息和样本状态信息确定的;
基于第一样本轨迹信息、样本状态信息、样本动作信息、及虚拟模型在样本时刻的下一时刻的状态信息,修正预测网络的网络参数,得到训练好的预测网络。
应当理解,本申请实施例中所描述的计算机设备1000可执行前文图3对应实施例中对上述虚拟模型的数据处理方法的描述以及图8对应实施例中对上述虚拟模型的网络处理方法的描述,也可执行前文图13所对应实施例中对上述虚拟模型的数据处理装置1以及图14所对应实施例中对上述虚拟模型的网络处理装置2的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
此外,这里需要指出的是:本申请还提供了一种计算机可读存储介质,且计算机可读存储介质中存储有前文提及的虚拟模型的数据处理装置1和虚拟模型的网络处理装置2所执行的计算机程序,且计算机程序包括程序指令,当处理器执行程序指令时,能够执行前文图3所对应实施例中对虚拟模型的数据处理方法的描述以及图8所对应实施例中对虚拟模型的网络处理方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述。
作为示例,上述程序指令可被部署在一个计算机设备上执行,或者被部署位于一个地点的多个计算机设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算机设备上执行,分布在多个地点且通过通信网络互连的多个计算机设备可以组成区块链网络。
上述计算机可读存储介质可以是前述任一实施例提供的虚拟模型的数据处理装置或者上述计算机设备的内部存储单元,例如计算机设备的硬盘或内存。该计算机可读存储介质也可以是该计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(smart media card,SMC),安全数字(secure digital,SD)卡,闪存卡(flashcard)等。进一步地,该计算机可读存储介质还可以既包括该计算机设备的内部存储单元也包括外部存储设备。该计算机可读存储介质用于存储该计算机程序以及该计算机设备所需的其他程序和数据。该计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
本申请提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行前文图3对应实施例中对上述虚拟模型的数据处理方法的描述以及图8对应实施例中对上述虚拟模型的网络处理方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机可读存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述。
本申请实施例的说明书和权利要求书及附图中的术语“第一”、“第二”等是用于区别不同对象,而非用于描述特定顺序。此外,术语“包括”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、装置、产品或设备没有限定于已列出的步骤或模块,而是可选地还包括没有列出的步骤或模块,或可选地还包括对于这些过程、方法、装置、产品或设备固有的其他步骤单元。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。
Claims (19)
1.一种虚拟模型的数据处理方法,其特征在于,所述方法包括:
获取虚拟模型在目标时刻的目标轨迹信息;所述目标轨迹信息用于指示所述虚拟模型在所述目标时刻关联的历史时段和未来时段的轨迹信息;所述虚拟模型在所述目标时刻关联的未来时段的轨迹信息是预测轨迹信息;所述预测轨迹信息是采用在所述目标时刻针对所述虚拟模型的运动指令信息对初始预测轨迹信息进行偏置处理后得到的,该偏置处理用于使所述初始预测轨迹信息的轨迹特征向所述运动指令信息所指示的运动特征进行偏移;所述初始预测轨迹信息是调用训练好的预测网络预测的所述虚拟模型在所述目标时刻关联的未来时段的轨迹信息;
获取所述虚拟模型在所述目标时刻的目标状态信息;所述目标状态信息用于指示所述虚拟模型在所述目标时刻的模型姿态;
基于所述目标轨迹信息和所述目标状态信息,生成所述虚拟模型在所述目标时刻的动作信息;所述动作信息用于指示所述虚拟模型从所述目标时刻到所述目标时刻的下一时刻的运动方式;
基于所述动作信息和所述目标状态信息确定所述虚拟模型在所述目标时刻的下一时刻的模型姿态,并将所述虚拟模型由所述目标状态信息指示的模型姿态切换为所述目标时刻的下一时刻的模型姿态。
2.根据权利要求1所述的方法,其特征在于,所述目标轨迹信息是基于历史轨迹信息和所述预测轨迹信息构成的;
其中,所述历史轨迹信息是所述虚拟模型在所述目标时刻关联的历史时段的轨迹信息。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
在所述目标时刻关联的历史时段获取N个历史参考时间点;N为正整数;
获取所述虚拟模型在所述N个历史参考时间点中每个历史参考时间点的运动位置信息、运动方向信息及运动速度信息;
基于所述虚拟模型在所述每个历史参考时间点的运动位置信息、运动方向信息及运动速度信息,生成所述历史轨迹信息。
4.根据权利要求1所述的方法,其特征在于,所述初始预测轨迹信息是在所述目标时刻的上一时刻确定所述虚拟模型在所述目标时刻的模型姿态的过程中,调用所述训练好的预测网络预测得到的;
其中,所述目标时刻关联的未来时段包含M个未来参考时间点,M为正整数,所述初始预测轨迹信息是由预测的所述虚拟模型在每个未来参考时间点的运动位置信息、运动方向信息及运动速度信息构成。
5.根据权利要求4所述的方法,其特征在于,所述运动指令信息包含指示所述虚拟模型进行运动的方向信息及速度信息;
所述方法还包括:
基于所述运动指令信息中的方向信息,对所述初始预测轨迹信息中所述虚拟模型在所述每个未来参考时间点的运动方向信息进行偏置处理,得到所述虚拟模型在所述每个未来参考时间点的偏置方向信息;
基于所述运动指令信息中的方向信息和速度信息,对所述初始预测轨迹信息中所述虚拟模型在所述每个未来参考时间点的运动速度信息进行偏置处理,得到所述虚拟模型在所述每个未来参考时间点的偏置速度信息;
基于所述M个未来参考时间点的第i-1个未来参考时间点对应的偏置位置信息和偏置速度信息,对所述M个未来参考时间点的第i个未来参考时间点对应的运动位置信息进行偏置处理,得到所述虚拟模型在所述第i个未来参考时间点对应的偏置位置信息;i为小于或等于M的正整数;
基于所述虚拟模型在所述每个未来参考时间点的偏置方向信息、偏置速度信息和偏置位置信息,得到所述预测轨迹信息。
6.根据权利要求1所述的方法,其特征在于,所述虚拟模型具有建模的多个模型关节;
所述获取所述虚拟模型在所述目标时刻的目标状态信息,包括:
获取所述虚拟模型的每个模型关节分别对应的一个或多个转动自由度;
计算在所述目标时刻所述虚拟模型的所述每个模型关节在对应的每个转动自由度下的转动角度;
基于所述每个模型关节在对应的每个转动自由度下的转动角度,生成所述目标状态信息。
7.根据权利要求1所述的方法,其特征在于,所述虚拟模型具有建模的多个模型关节;每个模型关节均具有对应的一个或多个转动自由度;
所述基于所述目标轨迹信息和所述目标状态信息,生成所述虚拟模型在所述目标时刻的动作信息,包括:
调用训练好的预测网络根据所述目标轨迹信息和所述目标状态信息,拟合所述虚拟模型的每个模型关节在对应的每个转动自由度下,从所述目标时刻运动到所述目标时刻的下一时刻的参考转动角度;
基于拟合的所述每个模型关节在对应每个转动自由度下的参考转动角度,生成所述动作信息。
8.根据权利要求7所述的方法,其特征在于,所述调用训练好的预测网络根据所述目标轨迹信息和所述目标状态信息,拟合所述虚拟模型的每个模型关节在对应的每个转动自由度下,从所述目标时刻运动到所述目标时刻的下一时刻的参考转动角度,包括:
调用所述训练好的预测网络基于所述目标轨迹信息和所述目标状态信息,拟合用于表征所述每个模型关节在对应每个转动自由度下,从所述目标时刻到所述目标时刻的下一时刻的运动动作的高斯均值;所述高斯均值包含多个维度的元素值,所述高斯均值中一个维度的元素值用于表征一个模型关节在对应一个转动自由度上的运动动作;
获取由所述高斯均值确定的目标高斯分布,并针对所述高斯均值的每个维度分别对所述目标高斯分布进行随机采样,得到所述每个维度分别对应的高斯随机数;
分别对所述每个维度对应的元素值和高斯随机数进行加和,得到所述每个模型关节在对应的每个转动自由度下的参考转动角度;一个参考转动角度是对应维度所属元素值和高斯随机数的加和值。
9.一种虚拟模型的网络处理方法,其特征在于,所述方法包括:
获取虚拟模型在样本时刻的第一样本轨迹信息;所述第一样本轨迹信息用于指示所述虚拟模型在所述样本时刻关联的历史时段和未来时段的轨迹信息;所述虚拟模型在所述样本时刻关联的未来时段的轨迹信息是样本预测轨迹信息;所述样本预测轨迹信息是采用在所述样本时刻针对所述虚拟模型的样本运动指令信息对样本初始预测轨迹信息进行偏置处理后得到的,该偏置处理用于使所述样本初始预测轨迹信息的轨迹特征向所述样本运动指令信息所指示的运动特征进行偏移;所述样本初始预测轨迹信息是调用预测网络预测的所述虚拟模型在所述样本时刻关联的未来时段的轨迹信息;
获取所述虚拟模型在所述样本时刻的样本状态信息;所述样本状态信息用于指示所述虚拟模型在所述样本时刻的模型姿态;
获取所述虚拟模型在所述样本时刻的样本动作信息;所述样本动作信息是调用所述预测网络基于所述第一样本轨迹信息和所述样本状态信息进行拟合得到的;所述样本动作信息用于指示所述虚拟模型从所述样本时刻到所述样本时刻的下一时刻的运动方式;
获取所述虚拟模型在所述样本时刻的下一时刻的状态信息;所述虚拟模型在所述样本时刻的下一时刻的状态信息是基于所述样本动作信息和所述样本状态信息确定的;
基于所述第一样本轨迹信息、所述样本状态信息、所述样本动作信息、及所述虚拟模型在所述样本时刻的下一时刻的状态信息,修正所述预测网络的网络参数,得到训练好的预测网络。
10.根据权利要求9所述的方法,其特征在于,所述第一样本轨迹信息是基于样本历史轨迹信息和所述样本预测轨迹信息构成的;
所述样本历史轨迹信息是所述虚拟模型在所述样本时刻关联的历史时段的轨迹信息。
11.根据权利要求9所述的方法,其特征在于,所述基于所述第一样本轨迹信息、所述样本状态信息、所述样本动作信息、及所述虚拟模型在所述样本时刻的下一时刻的状态信息,修正所述预测网络的网络参数,得到训练好的预测网络,包括:
获取所述虚拟模型在所述样本时刻的下一时刻的第二样本轨迹信息;所述第二样本轨迹信息用于指示所述虚拟模型在所述样本时刻的下一时刻关联的历史时段和未来时段的轨迹信息;
调用判别网络基于所述第一样本轨迹信息、所述样本状态信息、所述第二样本轨迹信息、及所述虚拟模型在所述样本时刻的下一时刻的状态信息,判别所述虚拟模型从所述样本状态信息指示的运动状态,转移到所述样本时刻的下一时刻的状态信息指示的运动状态的状态转移类型,得到第一判别值;所述第一判别值用于表征所述判别网络判别的该状态转移类型是真实对象运动过程中的状态转移类型的偏向程度;
基于所述第一判别值,生成所述虚拟模型从所述样本状态信息指示的运动状态转移到所述样本时刻的下一时刻的状态信息指示的运动状态的状态转移奖励值;
调用价值网络评估所述样本状态信息的第一状态价值,并调用所述价值网络评估所述虚拟模型在所述样本时刻的下一时刻的状态信息的第二状态价值;
基于所述第一状态价值、所述第二状态价值、所述转移奖励值和所述样本动作信息生成所述预测网络的预测偏差,并基于所述预测偏差修正所述预测网络的网络参数,得到所述训练好的预测网络。
12.根据权利要求11所述的方法,其特征在于,所述基于所述第一状态价值、所述第二状态价值、所述转移奖励值和所述样本动作信息生成所述预测网络的预测偏差,包括:
基于所述第一状态价值、所述第二状态价值和所述状态转移奖励值,确定所述虚拟模型从所述样本时刻到所述样本时刻的下一时刻针对状态信息的状态改善值;
基于所述状态改善值和所述样本动作信息生成所述预测偏差。
13.根据权利要求12所述的方法,其特征在于,所述预测网络用于基于所述第一样本轨迹信息和所述样本状态信息,拟合得到用于表征所述虚拟模型从所述样本时刻到所述样本时刻的下一时刻的运动动作的样本高斯均值,所述样本动作信息是基于所述样本高斯均值得到的动作向量;
所述基于所述状态改善值和所述样本动作信息生成所述预测偏差,包括:
获取所述动作向量与所述样本高斯均值之间的差值,并将所述差值作为针对所述动作向量的拟合偏差;
基于所述状态改善值和所述拟合偏差生成所述预测偏差。
14.根据权利要求11所述的方法,其特征在于,所述方法还包括:
调用所述判别网络判别所述真实对象在运动过程中从第一状态信息指示的运动状态转移到第二状态信息指示的运动状态的状态转移类型,得到第二判别值;所述第二判别值用于表征所述判别网络判别的该状态转移类型是所述真实对象运动过程中的状态转移类型的偏向程度;所述第一状态信息和所述第二状态信息是在所述真实对象运动过程中采集得到的;
基于所述第一判别值和所述第二判别值生成所述判别网络针对状态转移类型的判别偏差;
基于所述判别偏差修正所述判别网络的网络参数,得到网络参数修正后的判别网络;所述网络参数修正后的判别网络用于训练所述预测网络。
15.根据权利要求11所述的方法,其特征在于,所述方法还包括:
基于所述转移奖励值和所述第一状态价值生成所述价值网络针对状态信息的价值评估偏差;
基于所述价值评估偏差修正所述价值网络的网络参数,得到网络参数修正后的价值网络;所述网络参数修正后的价值网络用于训练所述预测网络。
16.一种虚拟模型的数据处理装置,其特征在于,所述装置包括:
第一获取模块,用于获取虚拟模型在目标时刻的目标轨迹信息;所述目标轨迹信息用于指示所述虚拟模型在所述目标时刻关联的历史时段和未来时段的轨迹信息;所述虚拟模型在所述目标时刻关联的未来时段的轨迹信息是预测轨迹信息;所述预测轨迹信息是采用在所述目标时刻针对所述虚拟模型的运动指令信息对初始预测轨迹信息进行偏置处理后得到的,该偏置处理用于使所述初始预测轨迹信息的轨迹特征向所述运动指令信息所指示的运动特征进行偏移;所述初始预测轨迹信息是调用训练好的预测网络预测的所述虚拟模型在所述目标时刻关联的未来时段的轨迹信息;
第二获取模块,用于获取所述虚拟模型在所述目标时刻的目标状态信息;所述目标状态信息用于指示所述虚拟模型在所述目标时刻的模型姿态;
生成模块,用于基于所述目标轨迹信息和所述目标状态信息,生成所述虚拟模型在所述目标时刻的动作信息;所述动作信息用于指示所述虚拟模型从所述目标时刻到所述目标时刻的下一时刻的运动方式;
确定模块,用于基于所述动作信息和所述目标状态信息确定所述虚拟模型在所述目标时刻的下一时刻的模型姿态,并将所述虚拟模型由所述目标状态信息指示的模型姿态切换为所述目标时刻的下一时刻的模型姿态。
17.一种虚拟模型的网络处理装置,其特征在于,所述装置包括:
第三获取模块,用于获取虚拟模型在样本时刻的第一样本轨迹信息;所述第一样本轨迹信息用于指示所述虚拟模型在所述样本时刻关联的历史时段和未来时段的轨迹信息;所述虚拟模型在所述样本时刻关联的未来时段的轨迹信息是样本预测轨迹信息;所述样本预测轨迹信息是采用在所述样本时刻针对所述虚拟模型的样本运动指令信息对样本初始预测轨迹信息进行偏置处理后得到的,该偏置处理用于使所述样本初始预测轨迹信息的轨迹特征向所述样本运动指令信息所指示的运动特征进行偏移;所述样本初始预测轨迹信息是调用预测网络预测的所述虚拟模型在所述样本时刻关联的未来时段的轨迹信息;
第四获取模块,用于获取所述虚拟模型在所述样本时刻的样本状态信息;所述样本状态信息用于指示所述虚拟模型在所述样本时刻的模型姿态;
第五获取模块,用于获取所述虚拟模型在所述样本时刻的样本动作信息;所述样本动作信息是调用预测网络基于所述第一样本轨迹信息和所述样本状态信息进行拟合得到的;所述样本动作信息用于指示所述虚拟模型从所述样本时刻到所述样本时刻的下一时刻的运动方式;
第六获取模块,用于获取所述虚拟模型在所述样本时刻的下一时刻的状态信息;所述虚拟模型在所述样本时刻的下一时刻的状态信息是基于所述样本动作信息和所述样本状态信息确定的;
修正模块,用于基于所述第一样本轨迹信息、所述样本状态信息、所述样本动作信息、及所述虚拟模型在所述样本时刻的下一时刻的状态信息,修正所述预测网络的网络参数,得到训练好的预测网络。
18.一种计算机设备,其特征在于,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行权利要求1-15中任一项所述方法的步骤。
19.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序适用于由处理器加载并执行权利要求1-15任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310056265.2A CN115797517B (zh) | 2023-01-16 | 2023-01-16 | 虚拟模型的数据处理方法、装置、设备和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310056265.2A CN115797517B (zh) | 2023-01-16 | 2023-01-16 | 虚拟模型的数据处理方法、装置、设备和介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115797517A CN115797517A (zh) | 2023-03-14 |
CN115797517B true CN115797517B (zh) | 2023-04-28 |
Family
ID=85429742
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310056265.2A Active CN115797517B (zh) | 2023-01-16 | 2023-01-16 | 虚拟模型的数据处理方法、装置、设备和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115797517B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116883561B (zh) * | 2023-09-04 | 2023-12-22 | 腾讯科技(深圳)有限公司 | 动画生成方法、动作控制器的训练方法、装置及设备 |
CN118247700B (zh) * | 2024-03-19 | 2024-09-20 | 西安隆腾科技文化有限公司 | 一种多媒体信息交互方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110310350A (zh) * | 2019-06-24 | 2019-10-08 | 清华大学 | 基于动画的动作预测生成方法和装置 |
CN110738717A (zh) * | 2019-10-16 | 2020-01-31 | 网易(杭州)网络有限公司 | 动作数据的修正方法、装置及电子设备 |
CN111223168A (zh) * | 2020-01-17 | 2020-06-02 | 腾讯科技(深圳)有限公司 | 目标对象控制方法、装置、存储介质和计算机设备 |
CN111340211A (zh) * | 2020-02-19 | 2020-06-26 | 腾讯科技(深圳)有限公司 | 一种动作控制模型的训练方法、相关装置及存储介质 |
WO2022121463A1 (zh) * | 2020-12-10 | 2022-06-16 | 成都完美时空网络技术有限公司 | 游戏中虚拟物品使用动作的动画生成方法、装置及设备 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2523560B (en) * | 2014-02-27 | 2016-08-31 | Naturalmotion Ltd | Defining an animation of a virtual object within a virtual world |
US20220230376A1 (en) * | 2019-05-17 | 2022-07-21 | Nvidia Corporation | Motion prediction using one or more neural networks |
CN111028317B (zh) * | 2019-11-14 | 2021-01-01 | 腾讯科技(深圳)有限公司 | 虚拟对象的动画生成方法、装置、设备及存储介质 |
CN114972591A (zh) * | 2022-06-15 | 2022-08-30 | 北京字跳网络技术有限公司 | 动画生成模型的训练方法、动画生成方法和装置 |
CN114792320A (zh) * | 2022-06-23 | 2022-07-26 | 中国科学院自动化研究所 | 轨迹预测方法、轨迹预测装置和电子设备 |
-
2023
- 2023-01-16 CN CN202310056265.2A patent/CN115797517B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110310350A (zh) * | 2019-06-24 | 2019-10-08 | 清华大学 | 基于动画的动作预测生成方法和装置 |
CN110738717A (zh) * | 2019-10-16 | 2020-01-31 | 网易(杭州)网络有限公司 | 动作数据的修正方法、装置及电子设备 |
CN111223168A (zh) * | 2020-01-17 | 2020-06-02 | 腾讯科技(深圳)有限公司 | 目标对象控制方法、装置、存储介质和计算机设备 |
CN111340211A (zh) * | 2020-02-19 | 2020-06-26 | 腾讯科技(深圳)有限公司 | 一种动作控制模型的训练方法、相关装置及存储介质 |
WO2022121463A1 (zh) * | 2020-12-10 | 2022-06-16 | 成都完美时空网络技术有限公司 | 游戏中虚拟物品使用动作的动画生成方法、装置及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN115797517A (zh) | 2023-03-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115797517B (zh) | 虚拟模型的数据处理方法、装置、设备和介质 | |
KR102645536B1 (ko) | 애니메이션 처리 방법 및 장치, 컴퓨터 저장 매체 그리고 전자 디바이스 | |
CN110930483B (zh) | 一种角色控制的方法、模型训练的方法以及相关装置 | |
CN111260762B (zh) | 一种动画实现方法、装置、电子设备和存储介质 | |
CN110339569B (zh) | 控制游戏场景中虚拟角色的方法及装置 | |
CN109464803A (zh) | 虚拟对象控制、模型训练方法、装置、存储介质和设备 | |
CN112121419B (zh) | 虚拟对象控制方法、装置、电子设备以及存储介质 | |
CN109993308A (zh) | 基于云平台共享学习系统及方法、共享平台及方法、介质 | |
CN111282272B (zh) | 信息处理方法、计算机可读介质及电子设备 | |
CN113787521A (zh) | 基于深度学习的机器人抓取方法、系统、介质和电子设备 | |
US20230267668A1 (en) | Joint twist generation for animation | |
CN112973130B (zh) | 虚拟场景的回放模型构建方法、装置、设备及存储介质 | |
Ramachandruni et al. | Attentive task-net: Self supervised task-attention network for imitation learning using video demonstration | |
Li | Application of IoT-enabled computing technology for designing sports technical action characteristic model | |
KR20230093191A (ko) | 오차 종류별 관절 인식 방법, 서버 | |
Eom et al. | Data‐Driven Reconstruction of Human Locomotion Using a Single Smartphone | |
Hao et al. | Action capture and VR interactive system for online experimental teaching | |
CN113592986B (zh) | 基于神经网络的动作生成方法、装置及计算设备 | |
CN116433808A (zh) | 角色动画的生成方法、动画生成模型的训练方法及装置 | |
CN103810724A (zh) | 基于空间嵌入式极限学习机的人体运动跟踪方法 | |
US20200334530A1 (en) | Differentiable neuromodulated plasticity for reinforcement learning and supervised learning tasks | |
Xu et al. | L4RW: Laziness‐based Realistic Real‐time Responsive Rebalance in Walking | |
Cai et al. | Immersive interactive virtual fish swarm simulation based on infrared sensors | |
CN116966585A (zh) | 动作生成模型训练方法、装置、电子设备及存储介质 | |
CN116468827A (zh) | 数据处理方法及相关产品 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40082747 Country of ref document: HK |