人体模型的控制方法、装置、电子设备以及存储介质转让专利

申请号 : CN201910344538.7

文献号 : CN110046457B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 周波曾宏生王凡何径舟

申请人 : 百度在线网络技术(北京)有限公司

摘要 :

本申请提出一种人体模型的控制方法、装置、电子设备以及存储介质,其中,方法包括:通过获取用于指示人体模型状态的特征信息,将特征信息输入行走模型的多个策略网络,得到各策略网络输出的控制信息,采用行走模型的价值网络对每一个策略网络输出的控制信息进行评分,根据评分,从各策略网络输出的控制信息中确定目标控制信息,根据目标控制信息,控制人体模型。由于行走模型相比现有技术中的强化学习算法,具有数据利用率高、鲁棒性强的特点,因此,通过行走模型的多个价值网络对每一个策略网络输出的控制信息进行评分,进而根据评分确定的目标控制信息控制人体模型,能够更加准确的控制人体模型,从而使得人体模型保持正常的姿态行走。

权利要求 :

1.一种人体模型的控制方法,其特征在于,所述方法包括以下步骤:按照设定行进速度取值从大到小的顺序,对行走模型进行训练;其中,向仿真客户端发送样本控制信息;从仿真客户端获取样本特征信息和反馈信息;其中,所述样本特征信息,是所述仿真客户端根据所述样本控制信息对所述仿真客户端运行的人体模型进行控制后生成的;所述反馈信息,用于指示所述样本特征信息与设定行进速度之间的差异;采用所述样本特征信息、所述反馈信息和所述样本控制信息,对所述行走模型进行训练;

获取用于指示人体模型状态的特征信息;

将所述特征信息输入行走模型的多个策略网络,得到各策略网络输出的控制信息;所述多个策略网络在训练过程中采用了不同的学习率;

采用行走模型的价值网络对每一个策略网络输出的控制信息进行评分;所述评分,用于指示采用相应控制信息进行控制后的人体模型符合设定行进速度的概率;

根据所述评分,从各策略网络输出的控制信息中确定目标控制信息;

根据所述目标控制信息,控制人体模型。

2.根据权利要求1所述的控制方法,其特征在于,所述价值网络为多个,所述多个价值网络在训练过程中采用了不同的学习率;

所述采用行走模型的价值网络对每一个策略网络输出的控制信息进行评分,包括:将所述特征信息、一个控制信息以及所述设定行进速度作为输入信息,输入所述多个价值网络中,得到各价值网络对相应控制信息的评分。

3.根据权利要求2所述的控制方法,其特征在于,所述根据所述评分,从各策略网络输出的控制信息中确定目标控制信息,包括:对每一个策略网络输出的控制信息,计算多个价值网络对相应控制信息的评分之和;

将所述评分之和为最大的控制信息,作为所述目标控制信息。

4.根据权利要求1所述的控制方法,其特征在于,所述仿真客户端为多个。

5.根据权利要求1所述的控制方法,其特征在于,所述反馈信息是采用奖励函数计算得到的;

所述设定行进速度按照取值从大到小划分为多个训练阶段;各训练阶段具有对应的奖励函数。

6.根据权利要求5所述的控制方法,其特征在于,所述多个训练阶段包括设定行进速度递减的第一阶段、第二阶段和第三阶段;

其中,所述第一阶段的奖励函数,是根据关节受力信息和相邻时刻人体模型左右脚的位移量确定的;

所述第二阶段的奖励函数,是根据人体模型行进速度与设定行进速度之间的差异和样本控制信息的L2范数确定的;

所述第三阶段的奖励函数,是根据人体模型行进速度与设定行进速度之间的差异和肌肉激活量确定的。

7.一种人体模型的控制装置,其特征在于,所述装置包括:训练模块,用于按照设定行进速度取值从大到小的顺序,对行走模型进行训练;其中,所述训练模块,具体用于:向仿真客户端发送样本控制信息;从仿真客户端获取样本特征信息和反馈信息;其中,所述样本特征信息,是所述仿真客户端根据所述样本控制信息对所述仿真客户端运行的人体模型进行控制后生成的;所述反馈信息,用于指示所述样本特征信息与设定行进速度之间的差异;采用所述样本特征信息、所述反馈信息和所述样本控制信息,对所述行走模型进行训练;

获取模块,用于获取用于指示人体模型状态的特征信息;

输入模块,用于将所述特征信息输入行走模型的多个策略网络,得到各策略网络输出的控制信息;所述多个策略网络在训练过程中采用了不同的学习率;

评分模块,用于采用行走模型的价值网络对每一个策略网络输出的控制信息进行评分;所述评分,用于指示采用相应控制信息进行控制后的人体模型符合设定行进速度的概率;

确定模块,用于根据所述评分,从各策略网络输出的控制信息中确定目标控制信息;

控制模块,用于根据所述目标控制信息,控制人体模型。

8.根据权利要求7所述的控制装置,其特征在于,所述价值网络为多个,所述多个价值网络在训练过程中采用了不同的学习率;所述评分模块,具体用于:将所述特征信息、一个控制信息以及所述设定行进速度作为输入信息,输入所述多个价值网络中,得到各价值网络对相应控制信息的评分。

9.根据权利要求8所述的控制装置,其特征在于,所述确定模块,具体用于:对每一个策略网络输出的控制信息,计算多个价值网络对相应控制信息的评分之和;

将所述评分之和为最大的控制信息,作为所述目标控制信息。

10.根据权利要求7所述的控制装置,其特征在于,所述仿真客户端为多个。

11.根据权利要求7所述的控制装置,其特征在于,所述反馈信息是采用奖励函数计算得到的;

所述设定行进速度按照取值从大到小划分为多个训练阶段;各训练阶段具有对应的奖励函数。

12.根据权利要求11所述的控制装置,其特征在于,所述多个训练阶段包括设定行进速度递减的第一阶段、第二阶段和第三阶段;

其中,所述第一阶段的奖励函数,是根据关节受力信息和相邻时刻人体模型左右脚的位移量确定的;

所述第二阶段的奖励函数,是根据人体模型行进速度与设定行进速度之间的差异和样本控制信息的L2范数确定的;

所述第三阶段的奖励函数,是根据人体模型行进速度与设定行进速度之间的差异和肌肉激活量确定的。

13.一种电子设备,其特征在于,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时,实现如权利要求1-6中任一所述的人体模型的控制方法。

14.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-6中任一所述的人体模型的控制方法。

说明书 :

人体模型的控制方法、装置、电子设备以及存储介质

技术领域

[0001] 本申请涉及自然语言处理技术领域,尤其涉及一种人体模型的控制方法、装置、电子设备以及存储介质。

背景技术

[0002] 随着计算机技术的快速发展,采用计算机软件对人体肌肉骨骼模型进行建模仿真成为一种主流。经过多年的发展,国外的专家学者先后开发出SIMM、AnyBody、LifeMod(与Adams无缝连接)、OpenSim和MSMS等人体运动分析仿真软件。
[0003] 近年来,随着强化学习和深度学习的发展,出现了基于连续控制的强化学习算法,训练一个深度神经网络的策略模型来预测控制向量。例如Off-Policy类别的深度确定性策略梯度算法(Deep Deterministic Policy Gradient,简称DDPG),或On-Policy类别的近端策略优化算法(Proximal Policy Optimization,简称PPO)。但是,现有的强化学习算法在人体模型训练时,存在鲁棒性差、样本利用低等缺点。

发明内容

[0004] 本申请旨在至少在一定程度上解决相关技术中的技术问题之一。
[0005] 为此,本申请提出一种人体模型的控制方法、装置、电子设备以及存储介质,以解决现有技术中对人体模型训练的强化学习算法存在鲁棒性差、样本利用低的技术问题。
[0006] 本申请第一方面实施例提出了一种人体模型的控制方法,包括:
[0007] 获取用于指示人体模型状态的特征信息;
[0008] 将所述特征信息输入行走模型的多个策略网络,得到各策略网络输出的控制信息;所述多个策略网络在训练过程中采用了不同的学习率;
[0009] 采用行走模型的价值网络对每一个策略网络输出的控制信息进行评分;所述评分,用于指示采用相应控制信息进行控制后的人体模型符合设定行进速度的概率;
[0010] 根据所述评分,从各策略网络输出的控制信息中确定目标控制信息;
[0011] 根据所述目标控制信息,控制人体模型。
[0012] 作为本申请第一种可能的实现方式,所述价值网络为多个,所述多个价值网络在训练过程中采用了不同的学习率;
[0013] 所述采用行走模型的价值网络对每一个策略网络输出的控制信息进行评分,包括:
[0014] 将所述特征信息、一个控制信息以及所述设定行进速度作为输入信息,输入所述多个价值网络中,得到各价值网络对相应控制信息的评分。
[0015] 作为本申请第二种可能的实现方式,所述根据所述评分,从各策略网络输出的控制信息中确定目标控制信息,包括:
[0016] 对每一个策略网络输出的控制信息,计算多个价值网络对相应控制信息的评分之和;
[0017] 将所述评分之和为最大的控制信息,作为所述目标控制信息。
[0018] 作为本申请第三种可能的实现方式,所述获取用于指示人体模型状态的特征信息之前,还包括:
[0019] 按照设定行进速度取值从大到小的顺序,对所述行走模型进行训练。
[0020] 作为本申请第四种可能的实现方式,所述对所述行走模型进行训练,包括:
[0021] 向仿真客户端发送样本控制信息;
[0022] 从仿真客户端获取样本特征信息和反馈信息;其中,所述样本特征信息,是所述仿真客户端根据所述样本控制信息对所述仿真客户端运行的人体模型进行控制后生成的;所述反馈信息,用于指示所述样本特征信息与设定行进速度之间的差异;
[0023] 采用所述样本特征信息、所述反馈信息和所述样本控制信息,对所述行走模型进行训练。
[0024] 作为本申请第五种可能的实现方式,所述仿真客户端为多个。
[0025] 作为本申请第六种可能的实现方式,所述反馈信息是采用奖励函数计算得到的;
[0026] 所述设定行进速度按照取值从大到小划分为多个训练阶段;各训练阶段具有对应的奖励函数。
[0027] 作为本申请第七种可能的实现方式,所述多个训练阶段包括设定行进速度递减的第一阶段、第二阶段和第三阶段;
[0028] 其中,所述第一阶段的奖励函数,是根据关节受力信息和相邻时刻人体模型左右脚的位移量确定的;
[0029] 所述第二阶段的奖励函数,是根据人体模型行进速度与设定行进速度之间的差异和样本控制信息的L2范数确定的;
[0030] 所述第三阶段的奖励函数,是根据人体模型行进速度与设定行进速度之间的差异和肌肉激活量确定的。
[0031] 本申请实施例的人体模型的控制方法,通过获取用于指示人体模型状态的特征信息,将特征信息输入行走模型的多个策略网络,得到各策略网络输出的控制信息,其中,多个策略网络在训练过程中采用了不同的学习率;采用行走模型的价值网络对每一个策略网络输出的控制信息进行评分,其中,评分,用于指示采用相应控制信息进行控制后的人体模型符合设定行进速度的概率,根据评分,从各策略网络输出的控制信息中确定目标控制信息,根据目标控制信息,控制人体模型。由于行走模型相比现有技术中的强化学习算法,具有数据利用率高、鲁棒性强特定,因此,通过行走模型的多个价值网络对每一个策略网络输出的控制信息进行评分,进而根据评分确定的目标控制信息控制人体模型,能够更加准确的控制人体模型,从而使得人体模型保持正常的姿态行走。
[0032] 本申请第二方面实施例提出了一种人体模型的控制装置,包括:
[0033] 获取模块,用于获取用于指示人体模型状态的特征信息;
[0034] 输入模块,用于将所述特征信息输入行走模型的多个策略网络,得到各策略网络输出的控制信息;所述多个策略网络在训练过程中采用了不同的学习率;
[0035] 评分模块,用于采用行走模型的价值网络对每一个策略网络输出的控制信息进行评分;所述评分,用于指示采用相应控制信息进行控制后的人体模型符合设定行进速度的概率;
[0036] 确定模块,用于根据所述评分,从各策略网络输出的控制信息中确定目标控制信息;
[0037] 控制模块,用于根据所述目标控制信息,控制人体模型。
[0038] 本申请实施例的人体模型的控制装置,通过获取用于指示人体模型状态的特征信息,将特征信息输入行走模型的多个策略网络,得到各策略网络输出的控制信息,其中,多个策略网络在训练过程中采用了不同的学习率;采用行走模型的价值网络对每一个策略网络输出的控制信息进行评分,其中,评分,用于指示采用相应控制信息进行控制后的人体模型符合设定行进速度的概率,根据评分,从各策略网络输出的控制信息中确定目标控制信息,根据目标控制信息,控制人体模型。由于行走模型相比现有技术中的强化学习算法,具有数据利用率高、鲁棒性强特定,因此,通过行走模型的多个价值网络对每一个策略网络输出的控制信息进行评分,进而根据评分确定的目标控制信息控制人体模型,能够更加准确的控制人体模型,从而使得人体模型保持正常的姿态行走。
[0039] 本申请第三方面实施例提出了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时,实现如上述实施例中所述的人体模型的控制方法。
[0040] 本申请第四方面实施例提出了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述实施例中所述的人体模型的控制方法。
[0041] 本申请附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。

附图说明

[0042] 本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
[0043] 图1为本申请实施例所提供的一种人体模型的控制方法的流程示意图;
[0044] 图2为本申请实施例提供的一种策略网络的结构示例图;
[0045] 图3为本申请实施例提供的一种价值网络的结构示例图;
[0046] 图4为本申请实施例提供的一种行走模型训练方法的流程示意图;
[0047] 图5为本申请实施例提供的一种行走模型训练方法的结构示例图;
[0048] 图6为本申请实施例提供的一种人体模型的控制装置的结构示意图;
[0049] 图7示出了适于用来实现本申请实施方式的示例性计算机设备的框图。

具体实施方式

[0050] 下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。
[0051] 下面参考附图描述本申请实施例的人体模型的控制方法和装置。
[0052] 图1为本申请实施例所提供的一种人体模型的控制方法的流程示意图。
[0053] 如图1所示,该人体模型的控制方法包括以下步骤:
[0054] 步骤101,获取用于指示人体模型状态的特征信息。
[0055] 其中,人体模型是以人体参数为基础建立的,它可以用来准确描述人体形态特征和力学特征,是研究、分析、设计、试验和评价人机体系非常重要的一种辅助工具。
[0056] 本申请实施例中,人体模型状态的特征信息,包括但不限于人体模型当前的状态信息、历史状态信息或者下一状态信息。其中,人体模型状态,可以为行走状态、站立状态等。
[0057] 本申请实施例中,可以通过特征提取模块获取用于指示人体模型状态的特征信息,例如,可以获取人体模型的各部位(如,头部、肩膀、双手、双脚等)在X、Y、Z坐标上的位置、线速度,各部位围绕X、Y、Z坐标的角度和角速度,重心在X、Y、Z坐标上的位置和速度,所有关节的转动角度和转动速度,所有肌肉的激活量、纤维长度和纤维速度,两只脚在X、Z方向上的间距等等。
[0058] 此外,还可以获取人体模型行走的目标速度特征信息,例如,可以为目标速度和真实速度在X、Z坐标系上的矢量差距,目标速度和真实速度的标量差距,目标速度和真实速度在基于骨盘坐标系的方向差距等等。
[0059] 另外,为了压缩特征空间,还可以将特征信息从基于世界的坐标系转换成基于骨盘的相对坐标系,从而使得人体模型沿着不同方向行走时,提取的特征信息都是等同的,即特征信息是方向无关的。具体的坐标转换可以参见如下公式(1)和公式(2):
[0060] X′=R(θYaw)(X-Xpelvis)  (1)
[0061] 其中,上述公式(1)X′为转换后得到的相对坐标;R(θYaw)为Y方向的转动角度;X为绝对坐标;Xpelvis为骨盘绝对坐标。
[0062] V′=R(θYaw)(V-Vpelvis)-ωYaw×(X-Xpelvis)  (2)
[0063] 其中,上述公式(2)中,V′为转换后的相对坐标;R(θYaw)为Y方向的转动角度;V为绝对速度;ωYaw为转动角速度;Vpelvis为骨盘绝对速度。
[0064] 步骤102,将特征信息输入行走模型的多个策略网络,得到各策略网络输出的控制信息;多个策略网络在训练过程中采用了不同的学习率。
[0065] 其中,行走模型可以为基于深度探索的DDPG算法,包括多个策略网络和多个价值网络。其中,策略网络,用于根据输入的特征信息,输出对应的控制信息。控制信息为用于控制人体模型下一状态的信息。
[0066] 本申请实施例中,将获取到的用于指示人体模型状态的特征信息输入行走模型的多个策略网络中,各策略网络输出对应的控制信息。其中,多个策略网络在训练过程中采用了不同的学习率。
[0067] 需要解释的是,学习率是用于调整神经网络最重要的超参数之一,本申请实施例中,多个策略网络在训练过程中采用了不同的学习率,通常是从低学习率开始训练。如果学习率很低,训练会变得更加可靠,但是优化会耗费较长的时间,因为朝向损失函数最小值的每个步长很小。如果学习率很高,训练可能根本不会收敛,甚至会发散。权重的改变量可能非常大,使得优化越过最小值,使得损失函数变得更糟。
[0068] 需要说明的是,多个策略神经网络底部采用共享的参数,而顶部则采用独立参数,由此,能够增加模型的探索能力。
[0069] 作为一种示例,参见图2,图2为本申请实施例提供的一种策略网络的结构示例图。如图2所示,将获取到的人体模型状态的特征信息,例如人体模型的状态相关的观测量和设定行进速度,输入K个策略网络中,各个策略网络输出对应的控制信息。
[0070] 步骤103,采用行走模型的价值网络对每一个策略网络输出的控制信息进行评分。
[0071] 其中,评分,用于指示采用相应控制信息进行控制后的人体模型符合设定行进速度的概率。
[0072] 本申请实施例中,行走模型也包括多个价值网络,价值网络,用于对策略网络输出的控制信息进行评分,以根据评分结果采用相应的控制信息对人体模型进行控制。并且,多个价值网络在训练过程中采用了不同的学习率。
[0073] 举例来说,假如行走模型有K个策略网络,将特征信息输入K个策略网络后,对应的输出K个控制信息。然后,K个价值网络会对特征信息和K个控制信息进行打分,以得到各价值网络对相应控制的评分。
[0074] 作为一种可能的实现方式,多个价值网络分别对多个策略网络的每一个策略网络进行打分,因此,每一个策略网络对应有多个分值。具体地,可以将获取到的人体模型状态的特征信息,策略网络输出的一个控制信息以及设定行进速度作为输入信息,输入至多个价值网络中,得到各个价值网络对相应输入的控制信息的评分。
[0075] 作为一种示例,参见图3,图3为本申请实施例提供的一种价值网络的结构示例图。如图3所示,假如行走模型M个价值网络,M个价值网络分别对每一个策略网络进行打分。将特征信息、控制信息以及设定行进速度作为输入信息,输入M个价值网络中,得到M个价值网络对输入的控制信息的M个评分。
[0076] 步骤104,根据评分,从各策略网络输出的控制信息中确定目标控制信息。
[0077] 其中,目标控制信息,是指用于对人体模型进行控制的信息。
[0078] 本申请实施例中,可以根据多个价值网络对策略网络的多个评分,从各策略网络输出的控制信息中确定目标控制信息。
[0079] 具体地,多个价值网络分别对多个策略网络的每一个策略网络输出的控制信息进行打分,得到多个评分,可以计算每一个策略网络输出的控制信息对应的评分之和,将各策略网络输出的控制信息对应的评分之和最大的控制信息,作为目标控制信息。
[0080] 步骤105,根据目标控制信息,控制人体模型。
[0081] 本申请实施例中,根据多个价值网络对每一个策略网络输出的控制信息的评分确定出目标控制信息后,根据目标控制信息,控制人体模型的下一状态。
[0082] 举例来说,目标控制信息,用于指示人体模型以1.5m/s的速度匀速行走,则人体模型接下来将以1.5m/s的速度匀速行走。
[0083] 本申请实施例的人体模型的控制方法,通过获取用于指示人体模型状态的特征信息,将特征信息输入行走模型的多个策略网络,得到各策略网络输出的控制信息,多个策略网络在训练过程中采用了不同的学习率,采用行走模型的价值网络对每一个策略网络输出的控制信息进行评分,其中,评分,用于指示采用相应控制信息进行控制后的人体模型符合设定行进速度的概率,根据评分,从各策略网络输出的控制信息中确定目标控制信息,根据目标控制信息,控制人体模型。由于行走模型相比现有技术中的强化学习算法,具有数据利用率高、鲁棒性强特定,因此,通过行走模型的多个价值网络对每一个策略网络输出的控制信息进行评分,进而根据评分确定的目标控制信息控制人体模型,能够更加准确的控制人体模型,从而使得人体模型保持正常的姿态行走。
[0084] 在本申请实施例一种可能的实现形式中,按照设定行进速度取值从大到小的顺序,对行走模型进行训练,具体的训练过程参见图4,图4为本申请实施例提供的一种行走模型训练方法的流程示意图。
[0085] 如图4所示,该模型训练方法可以包括以下步骤:
[0086] 步骤201,向仿真客户端发送样本控制信息。
[0087] 其中,样本控制信息,是用于对仿真客户端运行的人体模型进行控制的样本信息。
[0088] 本申请实施例中,为了加快行走模型的收敛速度,采用仿真环境进行训练数据的收集,一个服务器可以同时和多个仿真客户端进行交互,并且,服务器和多个仿真客户端之间的通信可以采用谷歌开源的通用远程过程调用框架(Google Remote Procedure Call,简称gRPC)进行通信。
[0089] 具体地,可以同时向多个仿真客户端发送样本控制信息,以根据样本控制信息对仿真客户端中运行的人体模型进行控制。
[0090] 步骤202,从仿真客户端获取样本特征信息和反馈信息。
[0091] 其中,样本特征信息,是仿真客户端根据样本控制信息对仿真客户端运行的人体模型进行控制后生成的。反馈信息,用于指示样本特征信息与设定行进速度之间的差异。
[0092] 本申请实施例中,仿真客户端接收到样本控制信息后,根据样本控制信息对其运行的人体模型进行控制,进而生成样本特征信息。由于,样本特征信息与设定行进速度之间不可能完全一样,因此,样本特征信息与设定行进速度之间存在差异,可以用反馈信息指示样本特征信息与设定行进速度之间的差异。此时,服务器可以从仿真客户端获取到样本特征信息和反馈信息。
[0093] 需要说明的是,反馈信息是采用奖励函数计算得到的,在按照设定行进速度取值从大到小的顺序,对行走模型进行训练时,可以将整个训练过程划分为多个训练阶段,并且各训练阶段分别具有对应的奖励函数。
[0094] 作为一种可能的情况,多个训练阶段包括设定行进速度递减的第一阶段、第二阶段和第三阶段。
[0095] 其中,第一阶段为跑的越快越好的阶段,第一阶段的奖励函数,是根据关节受力信息和相邻时刻人体模型左右脚的位移量确定的。例如,可通过如下公式(3)计算得到:
[0096]
[0097] 其中,公式(3)中,R1为第一阶段的奖励函数;PosOfLFoott为当前时刻左脚位置;PosOfLFoott-1为前一时刻左脚位置;PosOfRFoott为当前时刻右脚位置;PosOfRFoott-1为前一时刻右脚位置;jointpenalty#为关节受力惩罚。
[0098] 其中,第二阶段为匀速阶段,第二阶段的奖励函数,是根据人体模型行进速度与设定行进速度之间的差异和样本控制信息的L2范数确定的。例如,可以通过如下公式(4)计算得到:
[0099] R2=36-square_vel_diff_penaltu*vel_coeff-action_l2_penalty*action_coeff(4)
[0100] 其中,公式(4)中,R2为第二阶段的奖励函数;square_vel_diff_penaltu为人体模型当前的行进速度与设定行进速度在X、Z方向之间的差异平方和;vel_coeff为速度惩罚系数;action_l2_penalty为样本控制信息的平方和然后求平方根;action_coeff为控制向量系数。
[0101] 其中,第三阶段为随机速度阶段,第三阶段的奖励函数,是根据人体模型行进速度与设定行进速度之间的差异和肌肉激活量确定的。
[0102] 作为一种可能的情况,如果人体模型启动前60帧或者变更速度后的60帧内,第三阶段的奖励函数可以为,10减去人体模型当前的行进速度与设定行进速度在X、Z方向的差距平方之和乘以速度惩罚系数,再剑舞肌肉激活惩罚。
[0103] 作为另一种可能的情况,第三阶段的奖励函数可以为10减去人体模型当前的行进速度与设定行进速度在X、Z方向的差距平方之和乘以速度惩罚系数,再减去样本控制信息的L2值乘以控制向量系数,再减去肌肉激活惩罚。
[0104] 步骤203,采用样本特征信息、反馈信息和样本控制信息,对行走模型进行训练。
[0105] 本申请实施例中,采用样本特征信息,以及从仿真客户端获取到的反馈信息和样本控制信息,对行走模型进行训练,以使训练后的行走模型能够保持正常姿态行走,避免了行走模型在低速行走时学习到各种奇怪的行走姿势。
[0106] 作为一种示例,参见图5,可以让行走模型先学习跑得越快越好,然后将该姿态正常的高速跑步行走模型再逐步降速,得到一个具有正常姿态的低速行走模型。如图5所示,在行走模型处于跑得越快越好的阶段时,可以设定行进速度为3.5m/s,然后再基于这个阶段设定行进速度为3.0m/s,以此类推,得到行进速度为2.0m/s阶段和1.25m/s阶段,最终基于设定行进速度为1.25m/s阶段为元模型,学习一个可以任意速度和方向的行走模型。
[0107] 本申请实施例中,通过向仿真客户端发送样本控制信息,从仿真客户端获取样本特征信息和反馈信息,采用样本特征信息、反馈信息和样本控制信息,对行走模型进行训练。由此,通对行走模型的训练,能够将人体模型状态的特征信息输入行走模型后,即可根据行走模型输出的控制信息实现对人体模型的控制,实现了控制人体模型保持正常姿态行走,并且降低了人体模型的摔倒率。
[0108] 为了实现上述实施例,本申请还提出一种人体模型的控制装置。
[0109] 图6为本申请实施例提供的一种人体模型的控制装置的结构示意图。
[0110] 如图6所示,该人体模型的控制装置100包括:获取模块110、输入模块120、评分模块130、确定模块140以及控制模块150。
[0111] 获取模块110,用于获取用于指示人体模型状态的特征信息。
[0112] 输入模块120,用于将特征信息输入行走模型的多个策略网络,得到各策略网络输出的控制信息;多个策略网络在训练过程中采用了不同的学习率。
[0113] 评分模块130,用于采用行走模型的价值网络对每一个策略网络输出的控制信息进行评分;评分,用于指示采用相应控制信息进行控制后的人体模型符合设定行进速度的概率。
[0114] 确定模块140,用于根据评分,从各策略网络输出的控制信息中确定目标控制信息。
[0115] 控制模块150,用于根据目标控制信息,控制人体模型。
[0116] 作为一种可能的情况,价值网络为多个,多个价值网络在训练过程中采用了不同的学习率;评分模块130,具体用于:将特征信息、一个控制信息以及设定行进速度作为输入信息,输入多个价值网络中,得到各价值网络对相应控制信息的评分。
[0117] 作为另一种可能的情况,确定模块140,具体用于:
[0118] 对每一个策略网络输出的控制信息,计算多个价值网络对相应控制信息的评分之和;将评分之和为最大的控制信息,作为目标控制信息。
[0119] 作为另一种可能的情况,人体模型的控制装置100,还包括:
[0120] 训练模块,用于按照设定行进速度取值从大到小的顺序,对行走模型进行训练。
[0121] 作为另一种可能的情况,训练模块,具体用于:
[0122] 向仿真客户端发送样本控制信息;
[0123] 从仿真客户端获取样本特征信息和反馈信息;其中,所述样本特征信息,是所述仿真客户端根据所述样本控制信息对所述仿真客户端运行的人体模型进行控制后生成的;所述反馈信息,用于指示所述样本特征信息与设定行进速度之间的差异;
[0124] 采用所述样本特征信息、所述反馈信息和所述样本控制信息,对所述行走模型进行训练。
[0125] 作为另一种可能的情况,仿真客户端为多个。
[0126] 作为另一种可能的情况,反馈信息是采用奖励函数计算得到的;设定行进速度按照取值从大到小划分为多个训练阶段;各训练阶段具有对应的奖励函数。
[0127] 作为另一种可能的情况,多个训练阶段包括设定行进速度递减的第一阶段、第二阶段和第三阶段;
[0128] 其中,第一阶段的奖励函数,是根据关节受力信息和相邻时刻人体模型左右脚的位移量确定的;
[0129] 第二阶段的奖励函数,是根据人体模型行进速度与设定行进速度之间的差异和样本控制信息的L2范数确定的;
[0130] 第三阶段的奖励函数,是根据人体模型行进速度与设定行进速度之间的差异和肌肉激活量确定的。
[0131] 需要说明的是,前述对人体模型的控制方法实施例的解释说明也适用于该实施例的人体模型的控制装置,此处不再赘述。
[0132] 本申请实施例的人体模型的控制装置,通过获取用于指示人体模型状态的特征信息,将特征信息输入行走模型的多个策略网络,得到各策略网络输出的控制信息,多个策略网络在训练过程中采用了不同的学习率,采用行走模型的价值网络对每一个策略网络输出的控制信息进行评分,其中,评分,用于指示采用相应控制信息进行控制后的人体模型符合设定行进速度的概率,根据评分,从各策略网络输出的控制信息中确定目标控制信息,根据目标控制信息,控制人体模型。由于行走模型相比现有技术中的强化学习算法,具有数据利用率高、鲁棒性强特定,因此,通过行走模型的多个价值网络对每一个策略网络输出的控制信息进行评分,进而根据评分确定的目标控制信息控制人体模型,能够更加准确的控制人体模型,从而使得人体模型保持正常的姿态行走。
[0133] 为了实现上述实施例,本申请还提出一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时,实现如上述实施例中所述的人体模型的控制方法。
[0134] 为了实现上述实施例,本申请还提出一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述实施例中所述的人体模型的控制方法。
[0135] 图7示出了适于用来实现本申请实施方式的示例性计算机设备的框图。图7显示的计算机设备12仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
[0136] 如图7所示,计算机设备12以通用计算设备的形式表现。计算机设备12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
[0137] 总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(Industry  Standard Architecture;以下简称:ISA)总线,微通道体系结构(Micro Channel Architecture;以下简称:MAC)总线,增强型ISA总线、视频电子标准协会(Video Electronics Standards Association;以下简称:VESA)局域总线以及外围组件互连(Peripheral Component Interconnection;以下简称:PCI)总线。
[0138] 计算机设备12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
[0139] 存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(Random Access Memory;以下简称:RAM)30和/或高速缓存存储器32。计算机设备12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图7未显示,通常称为“硬盘驱动器”)。尽管图7中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如:光盘只读存储器(Compact Disc Read Only Memory;以下简称:CD-ROM)、数字多功能只读光盘(Digital Video Disc Read Only Memory;以下简称:DVD-ROM)或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本申请各实施例的功能。
[0140] 具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本申请所描述的实施例中的功能和/或方法。
[0141] 计算机设备12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机设备12交互的设备通信,和/或与使得该计算机设备12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,计算机设备12还可以通过网络适配器20与一个或者多个网络(例如局域网(Local Area Network;以下简称:LAN),广域网(Wide Area Network;以下简称:WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与计算机设备12的其它模块通信。应当明白,尽管图中未示出,可以结合计算机设备12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
[0142] 处理单元16通过运行存储在系统存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现前述实施例中提及的人体模型的控制方法。
[0143] 在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
[0144] 此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
[0145] 流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
[0146] 在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
[0147] 应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
[0148] 本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
[0149] 此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
[0150] 上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。