P2

Outline

  • Learning-based Character Animation (cont.)
    • Motion Models
    • Autoregressive models: PFNN
    • Generative models

P4

Learning Motion Models

问题的数学建模

\(p(x)\): probability that 𝒙 is a natural motion

由于 \(p(x)\) 无法由计算得出,所以从数据去学。数据即 a set of example motions {\(x_i\)}∼ \(p(x)\)

P5

数学模型1

✅ 一个pose可以用每个关节的位置表示,也可以用每个关节的旋转表示。如果用位置约束,最后需要通过IK变成旋转的约束。如果用旋转约束,就难以做到需要约束位置的效果。
✅ P(X)判断整个序列所有pose的联合分布是否合理。

P7

数学模型2

$$ p(X\mid z)=p(x_1,\dots ,x_T\mid z) $$

$$ \begin{align*} 𝑧: & \text{ control parameters} \\ & \text{ latent variables} \\ & …… \end{align*} $$

✅ 对动作序列的要求,除了动作合理,还要符合用户期待,用户要求可以是显式的,例如往左走;也可以是隐式的,例如以老人的风格走。\(z\) 代表用户条件。
✅ P(X|z)判断在条件z下整个序列所有pose的联合分布是否合理。

P8

$$ (x_1,\dots ,x_T)=f(z) $$

$$ \begin{align*} 𝑧: & \text{ control parameters} \\ & \text{ latent variables} \\ & …… \end{align*} $$

✅ 如果概率分布是正确的,基于这个分布采样能得到一个合理的动作,且满足前提条件。

P14

数学模型3

$$ p(X\mid z)=p(x_1,\dots ,x_T\mid z) $$

$$ =p(x_1)\prod_{t}^{} p(x_t\mid x_{t-1},\dots ,x_1;z) $$

\(^\ast \) The chain rule of conditional probabilities:

$$ \begin{align*} p(x_1,x_2,x_3) & = p(x_2,x_3 \mid x_1)p(x_1) \\ & = p(x_3 \mid x_2, x_1)p( x_2 \mid x_1)p(x_1) \end{align*} $$

✅ 序列合理 = 已知序列中的前 \(t-1\) 帧时第 \(t\) 帧应当合理。

P15
采样过程为:

$$ x_t=f(x_{t-1},x_{t-2},\dots x_1;z) $$

P17

数学模型4

✅ 假设动作具有Markov 性(无记忆性)

$$ x_t=f(x_{t-1};z) $$

Markov Property

✅ \(x_t\) 只受 \(x_{t-1}\) 影响,与 \(t-1\) 之前的动作无关。

P18

Two Perspectives on a Motion Sequence

数学模型3数学模型4
✅ 无交互无实时通常用前者✅ 游戏里面通常用后者
✅ 左:直接生成所有动作。✅ 右:一帧一帧地生成。
✅ 右无法考虑未来,不能根据将要发生的事情调整当前的动作。(自回归)

P25

数学模型

$$ x_t=f(x_{t-1}) $$

✅ 由于只和上一帧相关,二元组 \((x_{t-1},x_t)\) 构成了一个数据,希望从里面学到一些信息。
✅ Neural Network 相关部分跳过。
✅ 当前先不考虑 \(z\)
✅ 可以把它当作优化问题来解。

P40

Ambiguity Issue

$$ x_t=f(x_{t-1}) $$

✅ 但是 \(x_t\) 和 \(x_{t-1}\) 的关系是有歧义性的,最后学到一个平均的 \(x_t\).
✅ 因为\(x_{t-1}\)与\(x_t\)不是一对一的mapping关系。

P41

Hidden Variables

$$ x_t=f(x_{t-1};z) $$

✅ 需要加入一个额外的变量,可以来自用户输入或先验信息。关键是怎么找到 \(z\),使学习比较有效。

IDYearNameNoteTagsLink
1132017Phasefunctioned neural networks for character controlPFNNlink

P55

相关工作

*SIGGRAPH 2018
✅ 论文一:除角色姿态,还考虑脚的速度。
*SIGGRAPH 2020
✅ 论文二:把两个脚拆开,并考虑手,分别定义相位函数。
*SIGGRAPH 2022
✅ 论文三:从数据中自动学到相位函数的组合。

P57

Generative Models

✅ 不学两帧关系,而是直接学概率密度函数。
✅ 难点:(1) 真实 PDF 可能非常复杂 (2) 从一个 PDF 中采样也很难。
✅ PDF 的作用是判断动作是不是真的。

P60

常见套路

Generative Models✅ 一般生成式模型是这样的形式:从一个简单的 PDF,通过 \(f(z)\),映射到 \(p(x)\).
✅ 关键是 \(f(z)\) 要学好。
Variational Autoencoders✅ VAE:已知一些真实数据采样,用 Encoder 编码到简单分布上的点,再用Decoder 变回原分布上的点。
✅ control VAE 是 VAE+控制+物理仿真
Generative Adversarial Network✅ GAN:无 Encoder,增加一个判别器。
✅ ASE、AMP 是 GAN 的控制版本。
✅ RL 不结合物理难以 work,因为难以定义 reward.
Normalizing Flows✅ 标准化流:类似 VAE,使用一个可逆函数。
Diffusion Models✅ 扩散模型:多次编码与解码。
✅ 一个动作序列相当于隐空间里的一条轨迹。

P62

相关工作

见https://caterpillarstudygroup.github.io/ImportantArticles/index.html

[Ling et al. 2021 Character Controllers Using Motion VAEs]
[Tevet et al. 2022, arXiv, MDM: Human Motion Diffusion Model]

本文出自CaterpillarStudyGroup,转载请注明出处。

https://caterpillarstudygroup.github.io/GAMES105_mdbook/