CN113785330B - 使用相异的目标动画数据来训练人物的强化学习 - Google Patents
使用相异的目标动画数据来训练人物的强化学习 Download PDFInfo
- Publication number
- CN113785330B CN113785330B CN202080029244.6A CN202080029244A CN113785330B CN 113785330 B CN113785330 B CN 113785330B CN 202080029244 A CN202080029244 A CN 202080029244A CN 113785330 B CN113785330 B CN 113785330B
- Authority
- CN
- China
- Prior art keywords
- subset
- bone
- bones
- trained
- animation data
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/20—3D [Three Dimensional] animation
- G06T13/40—3D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/80—2D [Two Dimensional] animation, e.g. using sprites
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Processing Or Creating Images (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
一种用于训练动画人物的方法,包括:将限定第一运动序列的第一动画数据映射到被训练的人物的第一骨骼子集;以及将限定第二运动序列的第二动画数据映射到第二骨骼子集。骨骼层次结构包括所述第一骨骼子集和所述第二骨骼子集。迭代地应用强化学习以使用所述第一动画数据来训练所述第一骨骼子集并且使用所述第二动画数据来训练所述第二骨骼子集。在每次迭代时同时执行对每个骨骼子集的训练。训练包括调整骨骼的定向。在每次迭代时通过向所述第一骨骼子集和所述第二骨骼子集中的骨骼的所述调整过的定向应用模拟环境的物理参数而将所述第一骨骼子集与所述第二骨骼子集合成。
Description
技术领域
本公开涉及将人物动画化,并且更具体地,涉及使用相异的目标动画数据来训练动画人物的不同部分,所述目标动画数据中的每一者包括对应的运动序列。
发明背景
在视频游戏中使用动画化的人物。动画化的人物可包括互连骨骼的骨架,所述骨架可通过互连骨骼的移动和定位而赋予所述动画化的人物的移动。一旦生成骨架,便可使用那个上述骨架产生任何类型的运动。皮肤或网可覆盖在所述骨架上以提供能够在对应的视频游戏内观看的人物的视觉表示。
从头开始构建动画化的人物是耗时的并且是计算上昂贵的。因此,已经采用各种技术来减少在产生新的人物的过程中涉及的工作和时间的量。简单地,可重用一个骨架将一个或多个视频游戏中的众多人物动画化,其中每个人物可具有不同的网或皮肤。然而,因为使用相同的骨架,所以所有人物最终将一般看起来很像(例如,相同大小等)并且具有相同的移动,即使皮肤可能不同也如此。
另一种技术可采取来自基础人物的运动,并且在调整新的人物之间的不同比例的同时将那个运动应用到所述人物。例如,可采用运动重设目标以将运动变换为新的人物。通过那种方式,变换的运动可根据新的人物来定制,并且可看起来不同于基础人物的运动。一般来说,运动重设目标使用关节操纵通过迭代过程生成变换的运动。然而,运动重设目标在操纵关节时仍然是耗时的和计算上昂贵的。而且,当新的人物非常不同于基础人物时,运动重设目标可能会失败。
在此背景下出现了本公开的实施方案。
发明内容
本公开的实施方案涉及用于使用针对特定动画人物的强化学习进行肢体映射的系统和方法。具体地,使用多个目标动画数据通过强化学习来训练动画人物。每个动画数据针对于动画人物的身体的不同部分,诸如针对于骨骼层次结构的不同子集(例如,骨架、服装等)。每个动画数据可具有不同的运动序列,使得所述运动序列包括可彼此不关联的相异运动。使用目标动画数据对动画人物的合成和训练是针对特定模拟环境。
在一个实施方案中,公开了用于训练用于在动画中使用的动画人物的方法。所述方法包括将第一动画数据映射到被训练的人物的骨骼的第一子集。所述第一动画数据限定第一目标运动序列。所述方法包括将第二动画数据映射到被训练的人物的骨骼的第二子集。所述第二动画数据限定第二目标运动序列。所述被训练的人物的骨骼层次结构包括第一骨骼子集和第二骨骼子集。所述方法包括应用多次迭代强化学习以使用第一动画数据来训练第一骨骼子集并且使用第二动画数据来训练第二骨骼子集。在每次迭代时同时执行对每个骨骼子集的训练。训练第一骨骼子集和第二骨骼子集包括调整第一骨骼子集和第二骨骼子集中的骨骼的定向。在强化学习的每次迭代时通过向所述第一骨骼子集和所述第二骨骼子集中的骨骼的调整过的定向应用模拟环境的物理参数而将所述第一骨骼子集与所述第二骨骼子集合成。
在另一实施方案中,公开了一种非暂时性计算机可读介质,所述非暂时性计算机可读介质存储用于训练用于在动画中使用的动画人物的计算机程序。所述计算机可读介质包括用于将第一动画数据映射到被训练的人物的第一骨骼子集的程序指令。所述第一动画数据限定第一目标运动序列。所述计算机可读介质包括用于将第二动画数据映射到被训练的人物的第二骨骼子集的程序指令。所述第二动画数据限定第二目标运动序列。所述被训练的人物的骨骼层次结构包括第一骨骼子集和第二骨骼子集。所述计算机可读介质包括用于以下操作的程序指令:应用多次迭代强化学习以使用第一动画数据来训练第一骨骼子集并且使用第二动画数据来训练第二骨骼子集。在每次迭代时同时执行对每个骨骼子集的训练。训练第一骨骼子集和第二骨骼子集包括调整第一骨骼子集和第二骨骼子集中的骨骼的定向。在强化学习的每次迭代时通过向第一骨骼子集和第二骨骼子集中的骨骼的调整过的定向应用模拟环境的物理参数而将第一骨骼子集与第二骨骼子集合成。
在另一实施方案中,公开了一种计算机系统,其中所述计算机系统包括处理器和存储器,所述存储器耦合到所述处理器并且在所述存储器中存储有指令,所述指令在由所述计算机系统执行时致使所述计算机系统执行用于训练用于在动画中使用的动画人物的方法。由所述计算机系统执行的所述方法包括将第一动画数据映射到被训练的人物的骨骼的第一子集。所述第一动画数据限定第一目标运动序列。所述方法包括将第二动画数据映射到被训练的人物的骨骼的第二子集。所述第二动画数据限定第二目标运动序列。所述被训练的人物的骨骼层次结构包括第一骨骼子集和第二骨骼子集。所述方法包括应用多次迭代强化学习以使用第一动画数据来训练第一骨骼子集并且使用第二动画数据来训练第二骨骼子集。在每次迭代时同时执行对每个骨骼子集的训练。训练第一骨骼子集和第二骨骼子集包括调整第一骨骼子集和第二骨骼子集中的骨骼的定向。在强化学习的每次迭代时通过向第一骨骼子集和第二骨骼子集中的骨骼的调整过的定向应用模拟环境的物理参数而将第一骨骼子集与第二骨骼子集合成。
通过结合附图进行的以下详细描述,本公开的其他方面将变得显而易见,以下详细描述举例说明本公开的原理。
附图说明
通过参考结合附图进行的以下描述来最佳地理解本公开,其中:
图1A是根据本公开的一个实施方案的用于使用具有相异的目标身体运动的两个或更多个目标动画数据通过强化学习来训练动画人物的系统图。
图1B说明根据本公开的一个实施方案的用于构建AI模型的示例性神经网络。
图2是根据本公开的一个实施方案的说明用于使用具有相异的目标身体运动的两个或更多个目标动画数据通过强化学习来训练动画人物的方法的流程图。
图3A是根据本公开的一个实施方案的说明用以使用具有相异的目标身体运动的两个或更多个目标动画数据来训练动画人物的强化学习的工作流。
图3B说明根据本公开的一个实施方案的在使用具有相异的目标身体运动的两个或更多个目标动画数据来训练动画人物时的强化学习的循环。
图4A说明根据本公开的一个实施方案的将两个或更多个目标动画数据映射到被训练的动画人物的骨骼层次结构的不同部分,其中所述两个或更多个目标动画数据具有相异的目标身体运动。
图4B说明根据本公开的一个实施方案的使用两个具有相异的目标身体运动的单独的目标动画数据通过强化学习来训练动画人物。
图4C说明根据本公开的一个实施方案的融合用于被训练的动画人物的两个具有相异的目标身体运动的单独的目标动画数据,其中可在应用模拟环境的物理参数和加权之后根据目标身体运动来修改被训练的身体运动。
图5说明可用于执行本公开的各种实施方案的各方面的示例性装置的部件。
具体实施方式
虽然以下详细描述出于说明的目的而含有许多具体细节,但本领域普通技术人员将了解,对以下细节的许多变化和更改在本公开的范围内。因此,在不失在此描述之后的权利要求的一般性并且不向权利要求强加限制的情况下陈述在下文所描述的本公开的各方面。
一般来说,本公开的各种实施方案描述实施深度学习(还称为机器学习)技术以使用来自两个或更多个动画数据的相异的身体运动来训练动画人物的肢体的系统和方法。具体地,使用多个目标动画数据通过强化学习来训练动画人物,所述多个目标动画数据中的每一者针对于动画人物的身体的不同部分,诸如,针对于骨骼层次结构的不同子集(例如,骨架、服装等)。例如,所述目标动画数据可包括运动捕获数据、所开发的动画数据等。每个目标动画数据可具有不同的目标运动序列,使得所述运动序列包括可不彼此关联的相异运动。使用目标动画数据对动画人物的合成和训练是针对特定模拟环境。
通过对各种实施方案的以上一般理解,现在将参见各个图式来描述实施方案的示例性细节。
图1A是根据本公开的一个实施方案的用于使用两个或更多个具有相异的目标身体运动的目标动画数据101通过强化学习来训练动画人物100的系统图。具体地,映射引擎120接收多个目标动画数据101(例如,一个或多个目标动画数据、两个或更多个目标动画数据等)作为输入。例如,目标动画数据A(101a)包括可针对于被训练的动画人物的子身体A的目标身体运动A。还可输入其他目标动画数据,诸如包括可针对于被训练的动画人物的子身体B的目标身体运动B的第二目标动画数据。在实施方案中,提供两个或更多个单独的目标动画数据作为输入,以包括目标动画数据N(101n),所述目标动画数据N包括可针对于被训练的动画人物100的子身体N的目标身体运动N。
在一个实施方案中,通过多个目标动画数据,所述目标动画数据(例如,101a到101n)中的每一者可针对于被训练的动画人物100的不同部分。例如,被训练的动画人物100可与作为输入提供给映射引擎120的骨骼层次结构110相关联。因此,每个目标动画数据包括对应于骨骼层次结构110的一部分或子集的子骨骼层次结构。例如,在对被训练的动画人物100的二目标动画数据训练中,动画数据A 101a可针对于目标人物的手臂和躯干,可将所述目标人物的所述手臂和所述躯干映射到被训练的动画人物100的骨骼层次结构110的手臂和躯干。而且,动画数据B 101b可针对于对应的目标人物的腿和腰,可将所述腿和所述腰映射到被训练的动画人物100的骨骼层次结构110的腿和腰。
使用两个单独的目标动画数据是示例性的,并且出于清楚和简明起见在整个说明书中使用。本公开的实施方案公开了使用两个或更多个具有相异的身体运动的单独的目标动画数据来训练被训练的动画人物100的肢体和/或骨骼。仅出于说明的目的,在一个实施方案中,被训练的动画人物100可以是人类形态。例如,一个目标动画数据可针对右手,另一目标动画数据可针对左手,另一目标动画数据可针对头部,另一目标动画数据可针对左臂等。也就是说,每个目标动画数据可针对于被训练的动画人物100的骨骼层次结构110的唯一骨骼子集。
另外,可从不同的目标动画人物取得目标动画数据中的每一者。每个目标动画人物可具有唯一的肢体和/或比例以及肢体和/或骨骼结构。因此,被训练的动画人物100的骨骼层次结构110可基于目标动画人物的目标骨骼层次结构(例如,子骨骼层次结构)。通过那种方式,映射引擎120可将与目标动画数据相关联的目标子骨骼层次结构的部分映射到被训练的动画人物100的骨骼层次结构110。在一个实施方案中,被训练的动画人物100具有类人形态。在其他实施方案中,被训练的动画人物可呈现其他形态,诸如动物或新设计的人物或两个或更多个动画人物的混合(例如,半人马等)的形式。通过那种方式,可产生任何数目个动画人物,仅限于开发者的想象力。
动画数据可以是用于将在计算机动画(例如,视频游戏、模拟等)中使用的数字人物模型动画化的任何信息。动画数据可包括运动捕获(MOCAP)数据,通过经由各种技术捕获人类演员的身体运动而生成所述运动捕获数据,然后使用所述运动捕获数据将对应的动画人物动画化。仍然支持其他动画数据。
如图1A中所示,向深度学习引擎190提供多个目标动画数据101和骨骼层次结构110作为输入,所述深度学习引擎通过强化学习代理195应用强化学习以使用目标动画数据101的目标身体运动来训练动画人物100。深度学习引擎190接收模拟环境310(例如,视频游戏的环境)的物理参数130作为输入,以融合来自多个目标动画数据101的相异的身体运动,使得被训练的动画人物100的移动看起来现实。所述物理参数限定模拟环境的各种物理特性,诸如重力(例如,无论在地球上还是另一空间物体上)等。提供被训练的动画人物100的移动作为来自深度学习引擎190的作为关键帧动画150的输出。
另外,可在通过深度学习引擎190的强化学习代理195应用强化学习期间应用权重135,以便相比于一个动画数据偏向另一动画数据。例如,在使用两个单独的目标动画数据来训练类人动画人物100的情况下,第一目标动画数据101a可针对于所述类人的包括手臂和躯干的上部部分。第一目标动画数据101a的目标身体运动可以是目标人物的挥手运动,其中目标人物可在站立。第二目标动画数据101b可针对于类人动画人物100的包括腰区域和腿的下部部分,其中目标人物可在跑步。可通过相比于第一目标动画数据101a而偏向第二目标动画数据101b的方式应用权重,使得尤其在应用模拟环境310的物理参数之后被训练的动画人物100将相比于挥手身体运动而偏向跑步身体运动。例如,在模拟环境310中可能在物理上难以同时进行挥手和跑步两者。权重135的应用相比于挥手运动而偏向跑步运动,使得被训练的动画人物100将具有接近目标跑步运动的跑步运动以及未充分发展的挥手运动,以便遵守模拟环境310的物理参数130。通过那种方式,被训练的动画人物100的融合运动对于模拟环境310将看起来是现实的。
图1B说明用于如先前介绍使用具有相异的身体运动的目标动画数据来训练动画人物的肢体和/或骨骼的示例性神经网络190(例如,深度学习引擎)。通过那种方式,给出目标动画数据(例如,一个或多个目标动画数据、两个或更多个目标动画数据)作为输入,可由神经网络190的强化学习代理195应用强化学习以在特定模拟环境中训练被训练的动画人物的肢体。通过那种方式,可使用目标动画人物的先前限定的目标动画数据来生成数字动画人物。更具体地,可在训练期间将目标动画人物的相异的目标运动融合在一起以生成被训练的动画人物100的最终移动,其中目标运动可针对于被训练的动画人物100的骨骼层次结构110的不同部分(例如,上身挥手和下身跑步)。在实施方案中,在融合目标动画人物的目标运动期间,被训练的动画人物100的移动遵循模拟环境310的物理参数以及动画数据的加权。
更具体地,根据本公开的一个实施方案,由深度学习引擎190实施对被训练的人物100的训练。深度学习引擎190利用包括深度学习算法、强化学习或其他基于人工智能的算法的人工智能来训练动画人物。在一个实施方案中,可在一个或多个服务器装置处实施神经网络190。所述服务器装置中的每一者可具有用于并行计算的一个或多个核心。通过那种方式,所述多个核心可被配置为进行并行计算以解决高度随机环境中的强化学习的问题。在一个实施方案中,并行化用于稳定由深度学习引擎应用的强化学习算法(例如,去相关更新)。在另一实施方案中,并行化减小所观测的数据的非平稳性。在另一实施方案中,并行化增加在强化学习期间对参数空间的探索(例如,有助于避免局部最小值)。
更具体地,在学习阶段期间,由强化学习代理195应用强化学习来训练深度学习引擎190,以基于骨骼定向来控制模拟环境中的被训练的动画人物的骨骼层次结构110的关节参数(例如,角度、位置等)。针对通过强化学习而确定的骨骼定向来自动确定所述关节参数。例如,强化学习与骨骼层次结构110中的骨骼的骨骼定向一起基于运动序列内的给定帧的动画数据而根据骨骼的目标定向来确定那个骨骼的被训练的定向的距离度量。在一个实施方案中,那个距离度量可以是在强化学习的以后循环和/或迭代中使用的奖励,其中强化学习被配置为减小那个距离度量,其中可进一步使用模拟环境310的物理参数和/或权重来约束与所述距离度量相关联的骨骼定向。
神经网络190表示用于分析数据集以使用具有相异的身体运动的动画数据来训练被训练的动画人物的肢体和/或骨骼的一个或多个子集的自动化分析和/或学习工具的示例。不同类型的神经网络190是可能的。在一个示例中,神经网络190支持可由深度学习引擎190实施的深度学习。因此,可实施使用受监督或无人监督的训练的深度神经网络、卷积深度神经网络和/或递归神经网络。在另一示例中,神经网络190包括支持强化学习的深度学习网络或基于奖励的学习(例如,通过使用成功准则、成功度量、距离度量等)、增量学习等。例如,将神经网络190设置为支持强化学习算法的马尔可夫决策过程(MDP)。
一般来讲,神经网络190表示诸如人工神经网络的互连节点网络。每个节点从数据学习一些信息。可在节点之间通过互连部分交换知识。对神经网络190的输入激活一组节点。此组节点继而激活其他节点,进而传播关于所述输入的知识。此激活过程在其他节点上重复,直到提供输出为止。
如所说明,神经网络190包括节点层次结构。在最低的层次结构层级处,存在输入层191。输入层191包括一组输入节点。例如,这些输入节点中的每一者被映射到目标运动的骨骼定向。
在最高的分层层级处,存在输出层193。输出层193包括一组输出节点。例如,输出节点表示与被训练的AI模型160的一个或多个部件相关的决策(例如,动作、预测、在给定的一组输入数据下的对游戏成功的预测等)。如先前描述,输出节点可识别在给定的一组输入下的被训练的动画人物的骨骼层次结构的所学习的骨骼定向。可将这些结果与预定结果和实际结果或从先前的学习迭代获得的所学习的动作和结果进行比较,以迭代地确定适当的骨骼定向。
具体地,隐藏层192存在于输入层191与输出层193之间。隐藏层192包括“N”数目个隐藏层,其中“N”是大于或等于一的整数。所述隐藏层中的每一者继而还包括一组隐藏节点。输入节点与所述隐藏节点互连。同样地,所述隐藏节点与输出节点互连,使得输入节点与输出节点不直接互连。如果存在多个隐藏层,则输入节点与最低的隐藏层的隐藏节点互连。这些隐藏节点继而与下一个隐藏层的隐藏节点互连,且依此类推。下一个最高的隐藏层的隐藏节点与输出节点互连。互连部分连接两个节点。所述互连部分具有可学习的数值权重,从而使神经网络190对输入自适应并且能够学习。
在一个实施方案中,隐藏层192可包括神经网络190内的三个隐藏层,其中每个隐藏层可具有128个神经元。如先前描述,神经网络190还可包括输入层191和输出层193。因此,在神经网络190中可存在用于使用两个或更多个具有相异的身体运动的目标动画数据来训练动画人物100的47千以上个神经元。
一般来讲,隐藏层192允许在与输出节点相对应的所有任务之间共享关于输入节点的知识。为此,在一个实现方式中,通过隐藏层192向输入节点应用变换f。在一个示例中,变换f是非线性的。不同的非线性变换f是可用的,包括(例如)整流器函数f(x)=max(0,x)。
神经网络190还使用成本函数c来找到最佳解。在给定的输入x下,所述成本函数测量由定义为f(x)的神经网络190输出的预测与地面真值或目标值y(例如,预期结果)之间的偏差。最佳解表示其中没有解具有比最佳解的成本低的成本的情形。对于地面真值标记是可用的数据,成本函数的示例是预测结果与此类地面真值之间的均方误差。在学习过程期间,神经网络190可使用反向传播算法以采用不同的优化方法来学习使成本函数最小化的模型参数(例如,隐藏层192中的节点之间的互连部分的权重)。此类优化方法的示例是随机梯度下降法。
在一个示例中,神经网络190的训练数据集可来自同一数据域。例如,神经网络190被训练成学习将要执行的骨骼定向和对应的关节参数以在给定的一组输入或输入数据(例如,两个或更多个目标动画数据)下将被训练的人物100的骨骼层次结构110动画化。在此说明中,数据域包括目标动画数据,包括一个或多个目标动画数据、两个或更多个动画数据等。所述目标动画数据表示被训练的动画人物的骨骼层次结构的不同部分的相异的身体运动。在另一示例中,训练数据集是来自不同的数据域,以包括除了基线之外的输入数据。
因此,神经网络190可通过融合由目标动画数据限定的相异的身体运动来学习被训练的动画人物100的运动。
通过对系统170的各种模块的详细描述,流程图200A公开了根据本公开的一个实施方案的通过强化学习并且使用两个或更多个表示相异的身体运动的动画数据来训练动画模型的方法。流程图200A可在实施先前描述的深度学习引擎190的服务器系统内实施。
具体地,在210处,所述方法包括将第一目标动画数据映射到被训练的动画人物的第一骨骼子集。在初始状态,第一骨骼子集可在关键帧之间处于参考状态(例如,站立、静止等),使得在运动序列中不存在运动。第一目标动画数据表示目标人物的第一目标运动序列,所述第一目标运动序列可被映射到被训练的动画人物的身体的特定部分并且用于训练所述特定部分。那个特定部分对应于被训练的动画人物的骨骼层次结构中的第一骨骼子集。出于说明的目的,第一目标动画数据可以是第一目标人物的上部部分(例如,手臂和躯干的骨骼),所述第一目标动画数据被映射到被训练的人物的身体的上部部分(例如,骨骼层次结构的上部部分)。由第一动画数据表示的目标运动序列可以是目标人物的上部部分的手臂挥手。使用第一目标动画数据来训练被训练的人物的第一骨骼子集,使得被训练的人物的骨骼层次结构的上部部分学习第二目标人物的目标运动,诸如学习挥手。
在220处,所述方法包括将第二目标动画数据映射到被训练的动画人物的第二骨骼子集。在初始状态,第一骨骼子集可在关键帧之间处于参考状态(例如,站立、静止等),使得在运动序列中不存在运动。所述第二目标动画数据表示用于被训练的动画人物的身体的特定部分的第二运动序列。那个特定部分对应于被训练的动画人物的骨骼层次结构中的第二骨骼子集。出于说明的目的,继续使用两个单独的目标动画数据来训练动画人物(例如,类人)的示例,所述第二目标动画数据可以是第二目标人物的下部部分(例如,腰和腿的骨骼),所述第二目标动画数据被映射到被训练的人物的身体的下部部分(例如,骨骼层次结构的下部部分)。由第二动画数据表示的目标运动序列可以是目标人物的下部部分的腿处于跑步运动中。使用第二目标动画数据来训练被训练的人物的第二骨骼子集,使得被训练的人物的骨骼层次结构的下部部分学习第二目标人物的目标运动,诸如学习跑步。
在230处,所述方法包括应用多次迭代强化学习以使用第一目标动画数据来训练第一骨骼子集并且使用第二动画数据来训练第二骨骼子集。具体地,使用第一目标动画数据来训练第一骨骼子集,其中在训练期间调整第一骨骼子集中的骨骼的定向。而且,使用第二目标动画数据来训练第二骨骼子集,其中在训练期间调整第二骨骼子集中的骨骼的定向。在一个实施方案中,在强化学习的每次迭代时同时执行对每个骨骼子集的训练。另外,训练第一骨骼子集和第二骨骼子集包括调整第一骨骼子集和第二骨骼子集中的骨骼的定向。一旦对应骨骼的定向是已知的,便可自动确定通过深度学习引擎或另一处理服务器应用的用于那个骨骼的适当的关节参数。也就是说,骨骼层次结构中的骨骼的多个关节的关节参数响应于第一骨骼子集和第二骨骼子集中的调整过的定向而被自动调整。具体地,通过关节电机来驱动模拟中的被训练的人物,其中可通过指定(待移至的)位置、速度或扭矩来操作电机。如所描述,在一个实施方案中,使用位置(例如,骨骼定向)来驱动电机。神经网络输出(例如,基于调整过的骨骼定向)呈每个关节的位置的形式的一组动作,这致使关节电机作出响应并且致使被训练的人物移动。
具体地,在强化学习的每次迭代时,根据对应的奖励度量来调整第一子集中的骨骼的定向。这是逐整个运动序列中的关键帧而实现。例如,奖励度量可以是对应骨骼的被训练的定向(例如,与当前迭代相关联)与对应骨骼的目标定向(例如,基于对应的目标动画数据)之间的距离度量(例如,四元数距离)。在一个实施方式中,骨骼定向由四元数度量限定,并且可随机调整所述骨骼定向。单独地应用强化学习将训练被训练的动画人物的骨骼层次结构的对应部分以具有与由第一目标动画数据表示的目标运动(例如,身体的上部部分挥手)大致相同的运动。如下文更全面地描述,强化学习可应用加权和模拟环境的物理参数以修改被训练的运动。
另外,在强化学习的每次迭代时,根据对应的奖励度量来同时调整第二子集中的骨骼的定向。这是逐整个运动序列中的关键帧而实现。例如,奖励度量可以是对应骨骼的被训练的定向(例如,与当前迭代相关联)与对应骨骼的目标定向(例如,基于对应的目标动画数据)之间的距离度量(例如,四元数距离)。在一个实施方式中,骨骼定向由四元数限定,并且可随机调整所述骨骼定向。单独地应用强化学习将训练被训练的动画人物的骨骼层次结构的对应部分以具有与由第二目标动画数据表示的目标运动(例如,身体的下部部分跑步)大致相同的运动。如下文更全面地描述,强化学习可应用加权和模拟环境的物理参数以修改被训练的运动。
此外,所述方法包括在强化学习的每次迭代时通过应用模拟环境的物理参数而将第一骨骼子集与第二骨骼子集合成。物理特性是在已经将动作(位置)发送到关节电机之后应用的一组约束条件和力。这些约束条件和力实现关节和人物连杆实际上如何在模拟中移动。换句话说,如果墙壁挡住了路并且关节电机试图移动连杆通过所述墙壁,则所述墙壁将以某一力作出响应,并且人物将被向后推(假设墙壁是结实的),而不是连杆如最初打算那样移动。换句话说,合成操作提供对第一骨骼子集和第二骨骼子集中的骨骼的调整过的定向的补偿性相对调整。具体地,骨骼定向得到进一步补偿(例如,对对应的骨骼定向的额外调整),使得当对第一骨骼子集的骨骼定向的调整与对第二骨骼子集的骨骼定向的调整不一致时,不允许对第一骨骼子集的骨骼定向的所述调整,并且反之亦然。例如,如果对对应的骨骼定向的调整是不一致的,则可进一步向调整过的定向应用补偿性相对调整。因此,可通过与模拟环境的物理参数一致的方式使由第一目标动画数据提供的第一运动(例如,第一目标人物的上部部分挥手)与由第二目标动画数据提供的第二运动(例如,第二目标人物的下部部分跑步)融合。
具体地,被训练的人物的骨骼层次结构包括两个或更多个骨骼子集,使用对应目标人物的对应目标动画数据通过强化学习将所述骨骼子集中的每一者动画化。骨骼子集经过互连,使得一个子集中的骨骼的运动可影响另一子集中的骨骼的运动。例如,当使用两个单独的目标动画数据来训练被训练的动画人物(例如,类人)时,被训练的人物的骨骼层次结构包括通过第一目标动画数据训练的第一骨骼子集(例如,针对于骨骼层次结构的上部部分-挥手)和通过第二目标动画数据训练的第二骨骼子集(例如,针对于骨骼层次结构的下部部分–跑步)。对应目标人物中的每一者具有由对应的目标动画数据限定的特定目标身体运动。通过那种方式,被训练的人物在特定模拟环境下通过强化学习融合与两个或更多个目标动画数据相关联的相异的身体运动。当融合和/或合成相异的身体运动时,还可应用权重,这将影响计算出的奖励。
强化学习还可包括将模拟环境的物理参数应用到先前获得的骨骼层次结构的调整过的骨骼定向。可使用权重来实现决定在模拟环境中需要调整哪些骨骼以及调整多少。也就是说,可通过权重来实施尝试两个不同目标运动的调整以及不再强调所述运动中的一者。例如,应用到目标动画数据的权重可指定偏向哪一运动。具体地,所有连杆和/或骨骼都具有与它们相关联的权重,所述权重指定所述连杆相对于被训练的人物的骨骼层次结构中的所有其他连杆和/或骨骼有多重要。因此,如果比身体的下部部分中的连杆和/或骨骼更高地对身体的上部部分中的连杆和/或骨骼进行加权,则所学习的运动将尝试以不完全遵循下身运动为代价尽可能近地匹配上身运动。在RL训练阶段中的探索期间,神经网络将学习哪些运动执行起来是可行的以及哪些运动导致失败。通过此过程,神经网络将通过偏向允许其执行运动的移动而自然地学习克服不稳定性。
图3A是根据本公开的一个实施方案的说明用以使用具有相异的目标身体运动的两个或更多个目标动画数据来训练动画人物的强化学习的工作流。深度学习引擎190接收多个目标动画数据作为输入。例如,两个单独的动画数据包括第一动画数据A(101a)(针对于具有挥手运动的被训练的人物的上部部分)和第二动画数据B(101b)(针对于具有跑步运动的被训练的人物的下部部分)。可将用于多个目标动画数据的骨骼的映射映射到被训练的动画人物的骨骼层次结构。
另外,可输入指示动画数据相对于其他动画数据的重要性的权重。例如,在一个实施方案中,与第一动画数据A(101a)相比可更偏向第二动画数据B(101b)的跑步运动,使得第二动画数据B(101b)具有更高的权重值。在其他实施方案中,第二动画数据B(101b)可具有较低的权重值以指示与第一动画数据A(101a)相比更偏向第二动画数据B,这取决于如何使用权重。
通过关节电机来驱动模拟中的被训练的人物,其中可通过指定(待移至的)位置、速度或扭矩来操作电机。在一个实施方案中,使用位置来驱动关节电机,诸如骨骼的位置和/或定向,所述关节电机然后可用于驱动由所述关节电机指定的关节位置。神经网络输出呈每个关节的位置的形式的一组动作,这致使对应的关节电机作出响应并且致使人物移动。
例如,在由深度学习引擎190的强化学习代理195应用的强化学习的每次迭代时,确定当前状态320以及对应的奖励值。当前状态320包括被训练的人物的骨骼层次结构的骨骼子集中的每一者的定向,其中通过对应的目标动画数据来训练每个骨骼子集。具体地,对于运动序列中的每个关键帧,当前状态320包括被训练的动画人物的姿势的骨骼定向。针对被训练的动画人物的骨骼层次结构中的每个骨骼都这样,其中所述骨骼层次结构包括用于训练的所有骨骼子集。在一个实施方案中,每个骨骼的定向是由四元数定向限定。因此,当前状态320包括用于运动序列中的每个关键帧的骨骼层次结构的骨骼定向。出于说明起见,运动序列的数目可具有500个关键帧到2000个关键帧。
骨骼层次结构的每个骨骼可具有奖励值。奖励值是由当前状态320限定的对应骨骼的定向与由对应的目标动画数据限定的同一骨骼的目标定向之间的距离度量。在应用指示模拟环境310的物理参数和权重之后可计算出奖励值,如将在下文描述。在一个实施方案中,距离度量是限定两个四元数度量之间的角距离(例如,以弧度为单位测量)的四元数距离。所述距离度量指示对应骨骼的被训练的定向的当前状态320与目标定向有多接近。作为奖励度量,距离度量提供强化学习可借以操作的准则。具体地,强化学习可尝试减小强化学习循环的迭代上的距离度量。
在一个实施方案中,骨骼层次结构中的骨骼是由方向(例如,轴线)限定,而不是由定向(轴线和角度)限定。在那种情况下,应用强化学习以使对应骨骼的被训练的方向的当前状态320与由对应的目标动画数据限定的骨骼的目标方向之间的骨骼方向匹配。
对于被训练的人物的每个被训练的姿势和运动序列中的关键帧,可基于对应骨骼的被训练的定向的当前状态320和其奖励值而采取用于那个骨骼的动作。如先前描述,深度学习引擎190的神经网络输出呈每个关节的位置的形式的一组动作,这致使关节电机作出响应并且致使被训练的人物移动。针对关键帧中的每个骨骼(例如,对应姿势)执行此过程,并且针对运动序列中的每个关键帧重复此过程。所述动作可包括对应骨骼的新的骨骼定向。所述动作可考虑到目标是不断减小奖励值,使得被训练的运动在强化学习的每次迭代时更紧密地遵循目标运动。在一个实施方案中,所述动作是随机确定的。
如图3A中所示,所述一组动作330中的被训练的人物的骨骼层次结构的骨骼定向服从如先前描述的模拟环境310的物理参数。更具体地,强化学习包括将模拟环境的物理参数应用到先前从所述一组动作330获得的骨骼层次结构的调整过的骨骼定向。如先前描述,物理特性是在已经将动作(位置)发送到关节电机之后应用的一组约束条件和力。这些约束条件和力实现关节和人物连杆实际上如何在模拟中移动。换句话说,如果墙壁挡住了路并且关节电机试图移动连杆通过所述墙壁,则所述墙壁将以某一力作出响应,并且人物将被向后推(假设墙壁是结实的),而不是连杆如最初打算那样移动。通过那种方式,调整过的骨骼定向受到模拟环境310的物理参数约束。也就是说,可作出进一步的补偿性相对调整以遵守所述物理参数,使得骨骼定向受到模拟环境的物理参数约束,使得被训练的动画人物顺从所述物理参数。例如,如果从第一目标动画数据获得的骨骼的被训练的定向与从第二目标动画数据获得的另一骨骼的被训练的定向冲突或不一致,则将进一步补偿所述定向中的一者或多者(应用补偿性相对调整)以遵守模拟环境的物理参数。在应用物理特性之后,所述系统测量被训练的人物的最终状态(例如,对于对应的强化学习迭代),并且然后使用此观察值作为深度学习引擎190的神经网络的下一个输入。
每个骨骼的奖励值可基于先前介绍的距离度量来确定。例如,奖励值是在应用模拟环境的物理参数之后的对应骨骼的定向与由对应的目标动画数据限定的同一骨骼的目标定向之间的距离度量。确定运动序列中的每个关键帧的骨骼层次结构中的每个骨骼的奖励值。
可使用权重来实现决定需要调整哪些骨骼以及调整多少。例如,应用到目标动画数据的权重可指定偏向哪一运动。也就是说,权重通过不再强调目标运动中的一者或多者而提供对尝试融合相异的目标运动的调整。具体地,骨骼层次结构的所有连杆和/或骨骼都具有与它们相关联的权重,所述权重指定那个连杆相对于所有其他连杆和/或骨骼有多重要。继续其中使用两个不同的目标动画数据来训练动画人物的说明,与使用第二目标动画数据B(101b)训练的被训练的人物的骨骼层次结构的上部部分的挥手运动相比,可偏向使用第一目标动画数据A(101a)训练的骨骼层次结构的下部部分的跑步运动。例如,可比第一目标动画数据更多地对第二目标动画数据(例如,跑步)进行加权。如果比被训练的人物的身体的下部部分中的连杆和/或骨骼更高地对被训练的人物的身体的上部部分中的连杆和/或骨骼进行加权,则被训练的人物的所学习的运动将尝试以不完全遵循下身运动为代价尽可能近地匹配上身运动。通过那种方式,被训练的动画人物的被训练的运动将更多地保留跑步运动,并且更大量地调整挥手运动以遵守模拟环境的物理参数。例如,挥手可能未充分发展或不大明显,使得被训练的人物在给定的模拟环境下保持平衡。或者,骨骼层次结构的上部部分可经历平衡运动,以便在下部部分继续跑步的同时维持平衡。在强化学习训练阶段中的探索期间,神经网络将学习哪些运动执行起来是可行的以及哪些运动导致失败。通过此过程,神经网络将通过偏向允许被训练的人物执行期望的总运动的移动而自然地学习克服不稳定性。也就是说,在强化学习的探索阶段(例如,通过一次或多次迭代)期间,相异的目标运动被一起合并或融合或合成为被训练的人物的一个无缝运动。
更具体地,可将强化学习中的加权的使用应用到对应的关键帧中的被训练的动画人物的对应姿势(例如,在所述一组动作330中限定)的骨骼的奖励值(例如,距离度量)。在给出用以训练动画人物的两个单独的目标动画数据示例的情况下,可通过减少用于骨骼层次结构的上部部分的动画数据对奖励值的影响的方式对所述动画数据进行加权。例如,在0与1之间的尺度上,其中1被重度偏向,为了不再强调骨骼层次结构的上部部分(例如,其正在挥手)的影响,可使用低值(例如,0.25)对对应的奖励值(例如,四元数距离)进行加权。类似地,可对用于骨骼层次结构的下部部分的动画数据进行加权以增加其对奖励值的影响。例如,为了强调骨骼层次结构的下部部分(例如,其正在跑步)的影响,可使用较高值(例如,0.95)对对应的奖励值(例如,四元数距离)进行加权。因此,即使骨骼层次结构的上部部分中的骨骼最终远离其目标定向(即,距离变大)以便顺从模拟环境的物理参数(例如,不再强调挥手而是强调下半部中的跑步),奖励值(例如,四元数距离)也可保持非常低,因为所述奖励值被恰当地加权,并且可在每次强化学习迭代期间保持低。
另外,可确定整个运动序列的总奖励值。例如,确定运动序列中的每个关键帧和对应姿势的被训练的人物的骨骼层次结构中的每个骨骼定向的距离度量。对于每个关键帧,可确定骨骼层次结构中的骨骼的距离度量的关键帧和。可通过对运动序列中的关键帧的关键帧和进行求和来确定总和。运动序列奖励值430可基于所述总和而确定。具体地,在总和减小时,运动序列奖励值430变高,从而指示骨骼定向的正响应。较高的奖励值430指示被训练的人物的运动对于给定的模拟环境310是现实的。
在应用物理特性之后,测量被训练的人物的最终状态(例如,在强化学习的每次迭代时)。提供此观察值作为神经网络的下一个输入(例如,在强化学习的下一次迭代期间)。具体地,在由强化学习代理195执行的下一轮强化学习期间,可将运动序列中的每个关键帧的骨骼定向的新的一组状态350输入到深度学习引擎190。在一个实施方案中,当奖励值430相对于前一奖励值(例如,来自前一强化学习迭代)改变(例如,相差)阈值以上时,执行强化学习的另一迭代。也就是说,执行强化学习的另一迭代可为有益的。另一方面,当强化学习的两次或更多次迭代之间的运动序列奖励值430未改变阈值以上时,强化学习的迭代可结束。也就是说,通过强化学习确定的骨骼定向的变化最低程度地增加奖励值,使得从强化学习的另一迭代获得的权益是最低减让标准。也就是说,一旦强化学习结束,相异的目标运动便被一起合并或融合或合成为被训练的人物的一个无缝运动。
图3B说明根据本公开的一个实施方案的在使用具有相异的目标身体运动的两个或更多个目标动画数据来训练动画人物时的强化学习的循环。出于说明目的,被训练的人物100的骨骼层次结构110可包括两个骨骼子集。应理解,骨骼层次结构110可包括两个或更多个骨骼子集,每个子集由对应的目标动画数据来训练。第一骨骼子集110a包括骨骼层次结构110的上部部分,诸如手臂和躯干。第一骨骼子集110a包括骨骼B1、B2、B3、B4和B5。第一目标动画数据A(101a)表示用于训练第一骨骼子集110a的目标运动。可将权重(w1=0.4)应用到第一目标动画数据A(101a)或与第一目标动画数据A相关联。第二骨骼子集110b包括骨骼层次结构110的下部部分,诸如腰和腿。第二骨骼子集110b包括骨骼B6、B7、B8和B9。第二目标动画数据B(101b)表示用于训练第二骨骼子集110b的目标运动。可将权重(w2=0.9)应用到第二目标动画数据B(101b)或与第二目标动画数据B相关联。在一个实施方案中,因为第二目标动画数据B(101b)具有比针对第一目标动画数据A(101a)的权重值更高的权重值,所以与由第一目标动画数据A(101a)表示的目标运动(例如,挥手)相比,可偏向由第二目标动画数据B(101b)表示的对应的目标运动(例如,跑步)。
表格350包括与强化学习的一次迭代的骨骼层次结构110以及对应于运动序列的关键帧的被训练的动画人物的特定姿势的所述骨骼层次结构相关的信息。例如,列351指示骨骼标识符,并且列352指示每个骨骼属于哪个骨骼子集。例如,骨骼B1-B5属于第一骨骼子集110a。骨骼B6-B9属于第二骨骼子集110b。列353提供每个对应骨骼的先前奖励值(例如,来自作为深度学习引擎190的强化学习代理195的输入的强化学习的上一次迭代),其中所述奖励值可指示对应骨骼的当前定向与由对应的目标动画数据限定的骨骼的目标定向之间的四元数距离。例如,奖励值0.37限定骨骼B1的四元数距离。列354提供骨骼层次结构110的每个骨骼的调整过的距离,其中所述调整过的距离是基于通过强化学习确定的对应骨骼的调整过的定向。另外,列355诸如通过向骨骼层次结构中的每个骨骼的调整过的定向应用对应的补偿性相对调整而向所述调整过的骨骼定向应用物理参数和权重。
例如,如由对应的权重所指示,相比于第一骨骼子集110a而偏向第二骨骼子集110b。通过那种方式,相比于由第一动画数据A(101a)表示的挥手运动而偏向由第二动画数据B(101b)表示的跑步运动。因此,在应用模拟环境的物理参数和加权之后,可从呈现在列354中的值进一步补偿(例如,应用补偿性相对调整)骨骼定向。由于不再强调挥手运动,所以距目标运动(挥手)的距离可随时间增加。这可使得被训练的动画人物在跑步和挥手时不会跌跌撞撞,使得挥手变得未充分发展并且进而增加第一骨骼子集110a中的每个骨骼的对应的距离度量。例如,尤其当与第二骨骼子集110b相比时,在如列355中所表示应用模拟环境的物理参数和权重之后,第一骨骼子集110a的距离度量可具有相对于在应用对应的补偿性相对调整之后在列354中表示的对应骨骼的调整过的距离的较大差异。例如,对于骨骼B1,列354中的调整过的距离是0.35,并且在考虑模拟环境和权重之后,列355中的距离是0.55,差值是0.2,这指示在应用补偿性相对调整之后的骨骼定向的较大变化。相比之下,因为偏向跑步运动,所以尤其当与第一骨骼子集110a相比时,在如列355中所表示应用模拟环境的物理参数和权重之后,第二骨骼子集110b的距离度量可具有相对于在应用对应的补偿性相对调整之后在列354中表示的对应骨骼的调整过的距离的较小差异。例如,对于骨骼B6,列354中的调整过的距离是0.12,并且在考虑模拟环境和权重之后,列355中的距离是0.11,差值是0.01,这指示在考虑模拟环境和加权时的骨骼定向的较小变化。
图4A说明根据本公开的一个实施方案的将两个或更多个目标动画数据映射到被训练的动画人物的骨骼层次结构的不同部分,其中所述两个或更多个目标动画数据具有相异的目标身体运动。具体地,将多个目标动画数据101作为输入提供给映射引擎120。使用目标动画数据中的每一者来训练被训练的人物100(例如,类人)的骨骼层次结构110中的对应骨骼子集。例如,使用两个具有相异运动的动画数据的训练可包括表示骨骼层次结构的上部部分的目标运动(例如,挥手)的第一动画数据A(101a)和表示骨骼层次结构的下部部分的目标运动(例如,跑步)的第二动画数据B(101b),如先前介绍。
图4B说明根据本公开的一个实施方案的使用两个具有相异的目标身体运动的单独的目标动画数据通过强化学习来训练动画人物100。动画人物100由骨骼层次结构110表示。继续所述示例,可使用两个动画数据来执行对骨骼层次结构的训练。具体地,使用第一动画数据A(101a)来训练第一骨骼子集110a,并且使用第二动画数据B(101b)来训练第二骨骼子集110b。
第一动画数据A(101a)表示对于目标人物的手臂和躯干特定的挥手运动序列411。使用挥手运动序列411来训练被训练的人物100的骨骼层次结构的第一骨骼子集110a。也就是说,将挥手运动转移到被训练的人物100,并且更具体地,转移到被训练的人物100的手臂和躯干。
另外,第二动画数据B(101b)表示对于对应的目标人物的腰和腿特定的跑步运动序列412。使用跑步运动序列412来训练被训练的人物100的骨骼层次结构的第二骨骼子集110b。也就是说,将跑步运动转移到被训练的人物100,并且更具体地,转移到被训练的人物100的腰和腿。
图4C说明根据本公开的一个实施方案的融合用于被训练的动画人物的具有相异的目标身体运动的图4A的两个单独的目标动画数据,其中在应用模拟环境的物理参数和加权之后可根据目标身体运动来修改被训练的身体运动。具体地,被训练的动画人物100的运动序列413将由目标动画数据A(101a)表示的挥手运动序列411与由目标动画数据B(101b)表示的跑步运动序列412融合。因为相比于挥手运动序列411而偏向跑步运动序列412(例如,通过加权),所以尤其当考虑模拟环境和权重时,被训练的动画人物100的运动在牺牲挥手运动的同时更多地保留跑步运动。例如,运动序列413可保留来自目标动画数据B(101b)的大部分跑步运动,但阻碍来自目标动画数据A(101a)的挥手运动。如所示,在图4C中示出的运动序列413示出了在与用于训练的在图4B中示出的强烈的挥手运动序列411(例如,臂运动经过约40度)相比时在挥手时的受限的臂运动(例如,臂运动经过约20度)。
图5说明可用于执行本公开的各种实施方案的各方面的示例性装置500的部件。例如,图5说明根据本公开的一个实施方案的适合于训练AI模型的示例性硬件系统,所述AI模型能够执行与开发游戏应用程序相关的各种功能性,包括使用具有相异的目标主体运动的两个或更多个目标动画数据来训练动画人物。此框图说明装置500,所述装置可并入有或可以是个人计算机、服务器计算机、游戏控制台、移动装置或其他数字装置,其中的每一者适合于实践本发明的实施方案。装置500包括用于运行软件应用程序和任选地操作系统的中央处理单元(CPU)502。CPU 502可由一个或多个同构或异构处理核心构成。
根据各种实施方案,CPU 502是一个或多个具有一个或多个处理核心的通用微处理器。可使用具有特别适于诸如媒体和交互式娱乐应用的高度并行和计算密集的应用、被配置为用于深度学习、肢体训练、使用用户分类训练的动画人物的应用的微处理器架构的一个或多个CPU来实施其他实施方案。例如,CPU 502可被配置为包括AI引擎(例如,深度学习)190,所述AI引擎被配置为支持和/或执行关于提供各种功能性的学习操作,诸如使用具有相异的目标主体运动的两个或更多个目标动画数据来训练动画人物。深度学习引擎可包括使用强化学习代理195应用强化学习来训练动画人物。
存储器504存储供CPU 502使用的应用程序和数据。存储装置506为应用程序和数据提供非易失性存储装置和其他计算机可读介质并且可包括固定磁盘驱动器、可移除磁盘驱动器、闪存存储器装置和CD-ROM、DVD-ROM、蓝光光碟、HD-DVD或其他光学存储装置,以及信号传输和存储介质。用户输入装置508将来自一个或多个用户的用户输入传达给装置500,所述装置的示例可包括键盘、鼠标、操纵杆、触摸板、触摸屏、静态或视频记录仪/相机和/或麦克风。网络接口514允许装置500经由电子通信网络与其他计算机系统通信,并且可包括在局域网和诸如互联网的广域网上的有线或无线通信。音频处理器512适于从由CPU502、存储器504和/或存储装置506提供的指令和/或数据生成模拟或数字音频输出。装置500的部件,包括CPU 502、存储器504、数据存储装置506、用户输入装置508、网络接口510和音频处理器512,经由一条或多条数据总线522进行连接。
图形子系统514进一步与数据总线522和装置500的部件连接。图形子系统514包括图形处理单元(GPU)516和图形存储器518。图形存储器518包括用于存储输出图像的每个像素的像素数据的显示存储器(例如,帧缓冲器)。图形存储器518可与GPU 516集成在同一装置中、作为单独的装置与GPU 516连接和/或实施在存储器504内。像素数据可直接从CPU502提供到图形存储器518。可替代地,CPU502向GPU 516提供限定期望的输出图像的数据和/或指令,GPU 516根据所述数据和/或指令生成一个或多个输出图像的像素数据。限定期望的输出图像的数据和/或指令可存储在存储器504和/或图形存储器518中。在一个实施方案中,GPU 516包括3D渲染能力,用于根据指令和数据生成输出图像的像素数据,所述指令和数据限定场景的几何形状、照明、着色、纹理化、运动和/或相机参数。GPU 516还可包括能够执行着色器程序的一个或多个可编程执行单元。在一个实施方案中,GPU 516可在AI引擎190内实施以提供诸如用于AI或深度学习功能性的额外的处理能力。
图形子系统514周期性地从图形存储器518输出图像的像素数据,以显示在显示装置510上或由投影系统540投影。显示装置510可以是能够响应于来自装置500的信号而显示视觉信息的任何装置,包括CRT、LCD、等离子体和OLED显示器。例如,装置500可向显示装置510提供模拟或数字信号。
因此,在各种实施方案中,本公开描述了实施深度学习(还称为机器学习)技术以进行以下操作的系统和方法:使用从执行支持一个或多个游戏的游戏应用程序的示例的服务器网络收集的训练数据来构建AI模型;以及使用所训练的AI模型来提供与游戏应用和/或游戏应用的游戏玩法相关的各种功能性。
应理解,可将本文限定的各种实施方案组合或聚集成使用本文公开的各种特征的特定实现方式。因此,所提供的示例仅是一些可能的示例,而非限于通过组合各种元件以限定更多的实现方式所可能的各种实现方式。在一些示例中,在不脱离所公开或等效的实现方式的精神的情况下,一些实现方式可包括更少的元件。
可使用各种计算机系统配置来实践本公开的实施方案,包括手持式装置、微处理器系统、基于微处理器或可编程的消费者电子器件、小型计算机、主机计算机等。本公开的实施方案还可在分布式计算环境中实践,其中通过经由基于电线的或无线的网络链接的远程处理装置来执行任务。
在了解了以上实施方案的情况下,应理解,本公开的实施方案可采用涉及计算机系统中存储的数据的各种计算机实施的操作。这些操作是需要对物理量的物理操纵的操作。形成本公开的实施方案的部分的本文描述的操作中的任一者是有用的机器操作。本公开的实施方案还涉及用于执行这些操作的装置或设备。所述设备可被特别构造成用于所需的目的,或者所述设备可为由计算机中存储的计算机程序选择性地启动或配置的通用计算机。具体来说,各种通用机器可与根据本文的教导而编写的计算机程序一起使用,或者构造更专门的设备来执行所需的操作可能会更加便利。
本公开还可体现为计算机可读介质上的计算机可读代码。计算机可读介质是可存储数据的任何数据存储装置,所述数据其后可由计算机系统读取。计算机可读介质的示例包括硬盘驱动器、网络附接存储装置(NAS)、只读存储器、随机存取存储器、CD-ROM、CD-R、CD-RW、磁带,和其他光学和非光学数据存储装置。计算机可读介质可包括计算机可读有形介质,其分布在网络耦合的计算机系统上,使得以分布的方式存储和执行计算机可读代码。
虽然以特定次序描述方法操作,但应理解,其他内务操作可在操作之间执行,或者可对操作进行调整,使得它们在略微不同的时间出现,或者可分布在系统中,这允许处理操作以与处理相关联的各种间隔出现,只要是以期望的方式执行覆盖操作的处理即可。
虽然已经出于理解清楚起见而稍微详细地描述了前述公开内容,但将明白,可在所附权利要求的范围内实践某些改变和修改。因此,本实施方案将被视为说明性而非限制性的,并且本公开的实施方案不限于本文给出的细节,而是可在所附权利要求的范围和等效物内修改。
Claims (20)
1.一种用于训练用于在动画中使用的动画人物的方法,所述方法包括:
将第一动画数据映射到被训练的人物的第一骨骼子集,其中所述第一动画数据限定第一目标运动序列;
将第二动画数据映射到所述被训练的人物的第二骨骼子集,其中所述被训练的人物的骨骼层次结构包括所述第一骨骼子集和所述第二骨骼子集,其中所述第二动画数据限定第二目标运动序列;以及
应用多次迭代强化学习以使用所述第一动画数据来训练所述第一骨骼子集并且使用所述第二动画数据来训练所述第二骨骼子集,其中在每次迭代时同时执行对所述第一骨骼子集和所述第二骨骼子集的训练,并且其中所述训练所述第一骨骼子集和所述第二骨骼子集包括调整所述第一骨骼子集和所述第二骨骼子集中的骨骼的定向,其中在所述强化学习的每次迭代时通过向调整过的所述第一骨骼子集和所述第二骨骼子集中的骨骼的所述定向应用模拟环境的物理参数而将所述第一骨骼子集与所述第二骨骼子集合成。
2.如权利要求1所述的方法,其中所述调整骨骼的定向包括:
响应于所述第一骨骼子集和所述第二骨骼子集的所得的定向而自动调整所述骨骼层次结构中的骨骼的多个关节的关节参数。
3.如权利要求1所述的方法,
其中所述第一目标运动序列来自第一目标人物,并且所述第二目标运动序列来自第二目标人物,
其中所述第一目标运动序列和所述第二目标运动序列限定相异的运动,并且
其中所述被训练的人物的被训练的运动序列融合所述第一目标运动序列和所述第二目标运动序列。
4.如权利要求1所述的方法,其中所述应用强化学习以用于训练所述第一骨骼子集和所述第二骨骼子集包括:
对于所述骨骼层次结构中的每个骨骼,确定帧中的对应骨骼的被训练的位置与所述帧中的所述对应骨骼的目标位置之间的距离度量;以及
随机调整所述被训练的位置以最小化所述距离度量。
5.如权利要求4所述的方法,所述方法还包括:
对于所述帧的所述骨骼层次结构中的每个骨骼,确定所述帧中的所述对应骨骼的调整过的被训练的位置与所述目标位置之间的调整过的距离度量;以及
对被训练的运动序列的多个帧的所述骨骼层次结构中的骨骼的所调整过的距离度量求和以确定奖励值。
6.如权利要求5所述的方法,所述方法还包括:
当所述奖励值不满足阈值时,执行所述强化学习的下一次迭代以训练所述第一骨骼子集和所述第二骨骼子集;以及
当所述奖励值满足所述阈值时,停止所述强化学习。
7.如权利要求4所述的方法,所述方法还包括:
向在所述第一骨骼子集内包括的所述对应骨骼的所述距离度量应用第一权重;以及
向在所述第二骨骼子集内包括的所述对应骨骼的所述距离度量应用第二权重。
8.一种非暂时性计算机可读介质,所述非暂时性计算机可读介质存储用于训练用于在动画中使用的动画人物的计算机程序,所述计算机可读介质包括:
用于将第一动画数据映射到被训练的人物的第一骨骼子集的程序指令,其中所述第一动画数据限定第一目标运动序列;
用于将第二动画数据映射到所述被训练的人物的第二骨骼子集的程序指令,其中所述被训练的人物的骨骼层次结构包括所述第一骨骼子集和所述第二骨骼子集,其中所述第二动画数据限定第二目标运动序列;以及
用于应用多次迭代强化学习以使用所述第一动画数据来训练所述第一骨骼子集并且使用所述第二动画数据来训练所述第二骨骼子集的程序指令,其中在每次迭代时同时执行对所述第一骨骼子集和所述第二骨骼子集的训练,并且其中所述训练所述第一骨骼子集和所述第二骨骼子集包括调整所述第一骨骼子集和所述第二骨骼子集中的骨骼的定向,其中在所述强化学习的每次迭代时通过向调整过的所述第一骨骼子集和所述第二骨骼子集中的骨骼的所述定向应用模拟环境的物理参数而将所述第一骨骼子集与所述第二骨骼子集合成。
9.如权利要求8所述的非暂时性计算机可读介质,其中所述用于调整骨骼的定向的程序指令包括:
用于响应于所述第一骨骼子集和所述第二骨骼子集的所得的定向而自动调整所述骨骼层次结构中的骨骼的多个关节的关节参数的程序指令。
10.如权利要求8所述的非暂时性计算机可读介质,
其中所述第一目标运动序列来自第一目标人物,并且所述第二目标运动序列来自第二目标人物,
其中所述第一目标运动序列和所述第二目标运动序列限定相异的运动,并且
其中所述被训练的人物的被训练的运动序列融合所述第一目标运动序列和所述第二目标运动序列。
11.如权利要求8所述的非暂时性计算机可读介质,其中所述应用强化学习以用于训练所述第一骨骼子集和所述第二骨骼子集包括:
对于所述骨骼层次结构中的每个骨骼,确定帧中的对应骨骼的被训练的位置与所述帧中的所述对应骨骼的目标位置之间的距离度量;以及
随机调整所述被训练的位置以最小化所述距离度量。
12.如权利要求11所述的非暂时性计算机可读介质,所述非暂时性计算机可读介质还包括:
对于对应帧的所述骨骼层次结构中的每个骨骼,确定所述帧中的所述对应骨骼的调整过的被训练的位置与所述目标位置之间的调整过的距离度量;以及
对被训练的运动序列的多个帧的所述骨骼层次结构中的骨骼的所调整过的距离度量求和以确定奖励值。
13.如权利要求12所述的非暂时性计算机可读介质,所述非暂时性计算机可读介质还包括:
当所述奖励值不满足阈值时,执行所述强化学习的下一次迭代以训练所述第一骨骼子集和所述第二骨骼子集;以及
当所述奖励值满足所述阈值时,停止所述强化学习。
14.如权利要求11所述的方法,所述方法还包括:
向在所述第一骨骼子集内包括的所述对应骨骼的所述距离度量应用第一权重;以及
向在所述第二骨骼子集内包括的所述对应骨骼的所述距离度量应用第二权重。
15.一种计算机系统,所述计算机系统包括:
处理器;以及
存储器,所述存储器耦合到所述处理器并且在所述存储器中存储有指令,所述指令在由所述计算机系统执行时致使所述计算机系统执行用于训练用于在动画中使用的动画人物的方法,所述方法包括:
将第一动画数据映射到被训练的人物的第一骨骼子集,其中所述第一动画数据限定第一目标运动序列;
将第二动画数据映射到所述被训练的人物的第二骨骼子集,其中所述被训练的人物的骨骼层次结构包括所述第一骨骼子集和所述第二骨骼子集,其中所述第二动画数据限定第二目标运动序列;以及
应用多次迭代强化学习以使用所述第一动画数据来训练所述第一骨骼子集并且使用所述第二动画数据来训练所述第二骨骼子集,其中在每次迭代时同时执行对所述第一骨骼子集和所述第二骨骼子集的训练,并且其中所述训练所述第一骨骼子集和所述第二骨骼子集包括调整所述第一骨骼子集和所述第二骨骼子集中的骨骼的定向,其中在所述强化学习的每次迭代时通过向调整过的所述第一骨骼子集和所述第二骨骼子集中的骨骼的所述定向应用模拟环境的物理参数而将所述第一骨骼子集与所述第二骨骼子集合成。
16.如权利要求15所述的计算机系统,其中在所述方法中,所述调整骨骼的定向包括:
响应于所述第一骨骼子集和所述第二骨骼子集的所得的定向而自动调整所述骨骼层次结构中的骨骼的多个关节的关节参数。
17.如权利要求15所述的计算机系统,其中所述应用强化学习以用于训练所述第一骨骼子集和所述第二骨骼子集包括:
对于所述骨骼层次结构中的每个骨骼,确定帧中的对应骨骼的被训练的位置与所述帧中的所述对应骨骼的目标位置之间的距离度量;以及
随机调整所述被训练的位置以最小化所述距离度量,
其中所述第一目标运动序列来自第一目标人物,并且所述第二目标运动序列来自第二目标人物,
其中所述第一目标运动序列和所述第二目标运动序列限定相异的运动,
其中所述被训练的人物的被训练的运动序列融合所述第一目标运动序列和所述第二目标运动序列。
18.如权利要求17所述的计算机系统,所述方法还包括:
对于对应帧的所述骨骼层次结构中的每个骨骼,确定所述帧中的所述对应骨骼的调整过的被训练的位置与所述目标位置之间的调整过的距离度量;以及
对被训练的运动序列的多个帧的所述骨骼层次结构中的骨骼的所调整过的距离度量求和以确定奖励值。
19.如权利要求18所述的计算机系统,所述方法还包括:
当所述奖励值不满足阈值时,执行所述强化学习的下一次迭代以训练所述第一骨骼子集和所述第二骨骼子集;以及
当所述奖励值满足所述阈值时,停止所述强化学习。
20.如权利要求17所述的计算机系统,所述方法还包括:
向在所述第一骨骼子集内包括的所述对应骨骼的所述距离度量应用第一权重;以及
向在所述第二骨骼子集内包括的所述对应骨骼的所述距离度量应用第二权重。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/355,680 | 2019-03-15 | ||
US16/355,680 US11132606B2 (en) | 2019-03-15 | 2019-03-15 | Reinforcement learning to train a character using disparate target animation data |
PCT/US2020/017059 WO2020190415A1 (en) | 2019-03-15 | 2020-02-06 | Reinforcement learning to train a character using disparate target animation data |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113785330A CN113785330A (zh) | 2021-12-10 |
CN113785330B true CN113785330B (zh) | 2023-04-11 |
Family
ID=69784527
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080029244.6A Active CN113785330B (zh) | 2019-03-15 | 2020-02-06 | 使用相异的目标动画数据来训练人物的强化学习 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11132606B2 (zh) |
EP (1) | EP3939010B1 (zh) |
JP (1) | JP7061238B2 (zh) |
CN (1) | CN113785330B (zh) |
WO (1) | WO2020190415A1 (zh) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11850514B2 (en) | 2018-09-07 | 2023-12-26 | Vulcan Inc. | Physical games enhanced by augmented reality |
US11670080B2 (en) | 2018-11-26 | 2023-06-06 | Vulcan, Inc. | Techniques for enhancing awareness of personnel |
US11950577B2 (en) | 2019-02-08 | 2024-04-09 | Vale Group Llc | Devices to assist ecosystem development and preservation |
US11912382B2 (en) | 2019-03-22 | 2024-02-27 | Vulcan Inc. | Underwater positioning system |
US11435845B2 (en) * | 2019-04-23 | 2022-09-06 | Amazon Technologies, Inc. | Gesture recognition based on skeletal model vectors |
CN111260762B (zh) * | 2020-01-19 | 2023-03-28 | 腾讯科技(深圳)有限公司 | 一种动画实现方法、装置、电子设备和存储介质 |
US11928764B2 (en) * | 2020-09-15 | 2024-03-12 | Nvidia Corporation | Neural network motion controller |
US20220143821A1 (en) * | 2020-11-11 | 2022-05-12 | Sony Interactive Entertainment Inc. | Method for robotic training based on randomization of surface stiffness |
US20220143820A1 (en) * | 2020-11-11 | 2022-05-12 | Sony Interactive Entertainment Inc. | Domain adaptation for simulated motor backlash |
US20220143822A1 (en) * | 2020-11-11 | 2022-05-12 | Sony Interactive Entertainment Inc. | Method for robotic training based on randomization of surface damping |
KR20220111918A (ko) * | 2021-02-03 | 2022-08-10 | 삼성전자주식회사 | 캐릭터 애니메이션 동작 제어 방법 및 장치 |
US11908058B2 (en) * | 2022-02-16 | 2024-02-20 | Autodesk, Inc. | Character animations in a virtual environment based on reconstructed three-dimensional motion data |
CN115202531A (zh) * | 2022-05-27 | 2022-10-18 | 当趣网络科技(杭州)有限公司 | 界面交互的方法、系统和电子装置 |
JP2024055447A (ja) * | 2022-10-07 | 2024-04-18 | ソニーグループ株式会社 | 情報処理装置、情報処理方法およびプログラム |
CN117472190A (zh) * | 2023-12-28 | 2024-01-30 | 北京天平地成信息技术服务有限公司 | 基于神经网络的vr物理引擎调配系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011106928A1 (en) * | 2010-03-02 | 2011-09-09 | Nokia Corporation | Methods and apparatuses for facilitating skeletal animation |
CN105451837A (zh) * | 2013-03-15 | 2016-03-30 | 索尼电脑娱乐公司 | 骨骼动画的用户生成记录 |
CN106485773A (zh) * | 2016-09-14 | 2017-03-08 | 厦门幻世网络科技有限公司 | 一种用于生成动画数据的方法和装置 |
CN106780683A (zh) * | 2017-02-23 | 2017-05-31 | 网易(杭州)网络有限公司 | 骨骼动画数据的处理方法及装置 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6088042A (en) * | 1997-03-31 | 2000-07-11 | Katrix, Inc. | Interactive motion data animation system |
JP5210401B2 (ja) | 2011-01-17 | 2013-06-12 | 株式会社スクウェア・エニックス | 用例に基づく効率的なモーションデータベースのスタイリング |
US20140274373A1 (en) * | 2013-03-14 | 2014-09-18 | Adam Olshan | System and method for animating virtual characters |
US20180225858A1 (en) * | 2017-02-03 | 2018-08-09 | Sony Corporation | Apparatus and method to generate realistic rigged three dimensional (3d) model animation for view-point transform |
US10311624B2 (en) * | 2017-06-23 | 2019-06-04 | Disney Enterprises, Inc. | Single shot capture to animated vr avatar |
US10546408B2 (en) * | 2018-03-20 | 2020-01-28 | Adobe Inc. | Retargeting skeleton motion sequences through cycle consistency adversarial training of a motion synthesis neural network with a forward kinematics layer |
JP2019191821A (ja) | 2018-04-23 | 2019-10-31 | 株式会社Preferred Networks | モーション処理装置、モーション処理方法、およびプログラム |
US11308673B2 (en) * | 2018-05-03 | 2022-04-19 | Magic Leap, Inc. | Using three-dimensional scans of a physical subject to determine positions and/or orientations of skeletal joints in the rigging for a virtual character |
US10607065B2 (en) * | 2018-05-03 | 2020-03-31 | Adobe Inc. | Generation of parameterized avatars |
US11474593B2 (en) * | 2018-05-07 | 2022-10-18 | Finch Technologies Ltd. | Tracking user movements to control a skeleton model in a computer system |
EP3818530A4 (en) * | 2018-07-02 | 2022-03-30 | Magic Leap, Inc. | METHODS AND SYSTEMS FOR INTERPOLATION OF VARIOUS INPUTS |
KR102543650B1 (ko) * | 2018-07-30 | 2023-06-15 | 주식회사 엔씨소프트 | 모션 합성 장치 및 모션 합성 방법 |
JP2020113116A (ja) | 2019-01-15 | 2020-07-27 | 株式会社デジタル・フロンティア | モーション生成装置、モーション生成方法、及びプログラム |
-
2019
- 2019-03-15 US US16/355,680 patent/US11132606B2/en active Active
-
2020
- 2020-02-06 WO PCT/US2020/017059 patent/WO2020190415A1/en active Application Filing
- 2020-02-06 EP EP20710648.5A patent/EP3939010B1/en active Active
- 2020-02-06 CN CN202080029244.6A patent/CN113785330B/zh active Active
- 2020-02-06 JP JP2021555464A patent/JP7061238B2/ja active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011106928A1 (en) * | 2010-03-02 | 2011-09-09 | Nokia Corporation | Methods and apparatuses for facilitating skeletal animation |
CN105451837A (zh) * | 2013-03-15 | 2016-03-30 | 索尼电脑娱乐公司 | 骨骼动画的用户生成记录 |
CN106485773A (zh) * | 2016-09-14 | 2017-03-08 | 厦门幻世网络科技有限公司 | 一种用于生成动画数据的方法和装置 |
CN106780683A (zh) * | 2017-02-23 | 2017-05-31 | 网易(杭州)网络有限公司 | 骨骼动画数据的处理方法及装置 |
Non-Patent Citations (2)
Title |
---|
DeepMimic: Example-Guided Deep Reinforcement Learning of Physics-Based Character Skills;XUE BIN PENG 等;《ACM Trans. Graph.》;20180830;参见第3、5、7-8和10节 * |
XUE BIN PENG 等.DeepMimic: Example-Guided Deep Reinforcement Learning of Physics-Based Character Skills.《ACM Trans. Graph.》.2018, * |
Also Published As
Publication number | Publication date |
---|---|
US11132606B2 (en) | 2021-09-28 |
EP3939010A1 (en) | 2022-01-19 |
JP7061238B2 (ja) | 2022-04-27 |
US20200293881A1 (en) | 2020-09-17 |
JP2022518970A (ja) | 2022-03-17 |
WO2020190415A1 (en) | 2020-09-24 |
CN113785330A (zh) | 2021-12-10 |
EP3939010B1 (en) | 2024-04-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113785330B (zh) | 使用相异的目标动画数据来训练人物的强化学习 | |
US11113860B2 (en) | Particle-based inverse kinematic rendering system | |
Aristidou et al. | Inverse kinematics techniques in computer graphics: A survey | |
CN111260762B (zh) | 一种动画实现方法、装置、电子设备和存储介质 | |
Hämäläinen et al. | Online motion synthesis using sequential monte carlo | |
Kenwright | Inverse kinematics–cyclic coordinate descent (CCD) | |
US8860732B2 (en) | System and method for robust physically-plausible character animation | |
US8508537B2 (en) | System and method for dependency graph evaluation for animation | |
WO2021143289A1 (zh) | 动画处理方法、装置、计算机存储介质及电子设备 | |
Wrotek et al. | Dynamo: dynamic, data-driven character control with adjustable balance | |
US11104001B2 (en) | Motion transfer of highly dimensional movements to lower dimensional robot movements | |
Lamberti et al. | Virtual character animation based on affordable motion capture and reconfigurable tangible interfaces | |
US9984488B2 (en) | Animating a virtual object in a virtual world | |
US11217001B2 (en) | Systems and methods for supervised and unsupervised animation style transfer | |
US10410393B2 (en) | Animating a virtual object in a virtual world | |
TW202232284A (zh) | 用於在虛擬實境環境中三維人類姿勢之模擬控制 | |
US20230267668A1 (en) | Joint twist generation for animation | |
KR20240055025A (ko) | 실용 3d 에셋을 위한 추론된 골격 구조 | |
Kaushik et al. | Imitating human movement using a measure of verticality to animate low degree-of-freedom non-humanoid virtual characters | |
Rudomin et al. | Gpu generation of large varied animated crowds | |
Wu et al. | Video driven adaptive grasp planning of virtual hand using deep reinforcement learning | |
JP2019149153A (ja) | リアルタイムアプリケーションにおける複数の接続されたボディのシミュレーション | |
US20230256339A1 (en) | Goal Driven Animation | |
WO2024060833A1 (zh) | 一种图像处理方法 | |
US20230256340A1 (en) | Animation Evaluation |
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 |