A Scalable Approach to Control Diverse Behaviors-动作生成算法

A Scalable Approach to Control Diverse Behaviors for Physically Simulated Characters

来源: SigGraph2021
研究方向: 动作生成
链接: https://research.fb.com/publications/a-scalable-approach-to-control-diverse-behaviors-for-physically-simulated-characters/

文章动机

这篇文章提出了一种可以学会大量异质动作的动作生成模型,动机就是之前的基于模仿学习的动作生成方案可能学会的动作不太多,或者学太多的动作会给模型收敛带来困难,因此,这篇文章就提出一种方案来解决这个问题,学习大量异质动作的生成。

方案实施

  • 方案的思路非常直观。通过一个现有的动作控制器(可以是CMU的动捕数据库【≥9h mocap data】,也可以是PFNN动作生成模型),随机生成reference motion,然后将这些motion进行聚类操作,进而在每个cluster中分别进行模仿学习,得到每个cluster中的expert,这些expert可以很好的学会该cluster中的同质性的动作。下一步,通过全量的数据和combined-experts(通过一种mix操作,将所有cluster的专家进行mix),来使用RL学习一个Universal的控制器,这个控制器可以坐出大量异质性的动作。
    在这里插入图片描述

  • 最终训练好模型后,生成动作的过程:
    在这里插入图片描述

  • 具体实现:

    1. motion Graph构建:

      1. 动作数据使用CMU动捕数据集里面的,因为里面的动作类别数非常可观,但是数据由超过100个不同的动捕演员得到,因此,首先需要将数据和一个通用的SMPL+H模型对齐。这个retarget的过程,是将CMU的动捕数据retarget到SMPL+H参数化人体的中立人体上去,会产生影响的是root关节的偏移量,这个值在retarget的过程中会引发接地问题,通过一些事先的计算高度补偿可以缓解一些,但不能完全避免,后续的问题可以交给网络可学习的部分去处理。
      2. 有了统一模型下的动捕数据后,需要去构建motion Graph。图中的每一个顶点是每个时刻点的motion状态信息,包括joint的angle,velocity,root的position,end-effector的positions这些状态信息,然后下一步要去为顶点构建边了。定义了一个距离公式,来计算节点m和节点n的距离,该距离用到来上面四种状态信息的差分值,然后把四种距离进行加权融合,就是节点m和节点n的距离。如果该距离满足一定的阈值限制,就将节点m和n相连,即认为节点m的动作可以比较顺畅的过渡到节点n的动作。
      3. 建好图之后,要去遍历图中节点,生成一段段连贯的motion clip了。具体,随机选择一个起始节点,然后开始图的深度优先遍历,直到说遇到起始点时,随机选择另外一个节点,然后继续开始random walk。就这样采集动作的clip,作为训练数据。
      4. 采集到一段段motion clip后,下一步进行聚类,需要把一段段motion按照motion的相近程度进行聚类。每一段motion需要去计算一个特征向量,然后凭借该特征向量去进行k-means 聚类。具体的,要去计算一段motion clip中各个帧下,各个关节点在地面的速度平均值,在垂直平面的速度平均值,以及各个关节点标亮加速度平均值,这些值构成了一段motion的特征向量,然后进行聚类,得到一簇簇motion clip团。
    2. PPO算法学习策略

      1. 每个motion clip簇分别进行reward计算,
        在这里插入图片描述

      reward设计到joint位姿到位程度,速度到位程度,end-effector位置到位程度,质心到位程度,root关节位置和姿态到位程度的衡量,其中r_root是这篇文章新加的,考虑到其他的r_pose,r_vel, r_ee, r_com都是相对于root的相对值计算的,反映了系统内部的一个到位情况,而r_root能够反应在世界坐标系下的到位情况。

      b. 另外,reward是相乘的,和此前的相加是不一样的。认为相加时各个任务有可能是一个折中的平均取值,而相乘之后,会要求所有项的reward都得大一些,才不会拉低整个reward的水平。

      c. 每个motion clip簇都有这样一个agent去学习策略,然后通过全量的数据,会得到一个gate network,输出一个softmax的加权值,来组合这些agent的权值,得到universal的agent,这个agent可以做出数据集上的所有动作。

方案可行性

有PFNN,MANN这些使用gate network概念融合网络权值的成功方案,因此这一篇使用gate网络来融合各个motion clip簇的动作expert的方案应该是可靠的。

结论

文中结论中说,在实验中将CMU的动捕数据划分为8类得到了不错的效果,但是不知道划分的更细,种类更多时会怎样,有可能会效果更好,也有可能会因为expert太多而导致训练失败不收敛。另外一点是这个模型在CMU数据集中表现比较好,但CMU也并非完全包含了所有的人类动作,未来可以看看这个方法在更大的数据集中的一个表现,来探索这一套学习框架的潜力。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值