AI4Animation: Deep Learning for Character Controlhttps://github.com/sebastianstarke/AI4Animation
目录
Abstract
作者提出了一种称为周期性自动编码器(Periodic Autoencoder) 的新型神经网络架构,它可以以无监督的方式从大型非结构化运动数据集中学习周期性特征。具体而言,角色的动作被降维分解为多个潜在特征(Latent Embedding),不同特征捕获不同身体部位随时间变化的非线性周期性。同时从Latent Embedding提取的多维相空间可以有效地对不同动作进行聚类并生成相比原始运动空间更好的流形。最后,模型学到的周期性latent可以显着帮助改善许多任务中的神经运动合成,甚至包括舞蹈动作生成、足球运动等不规则的非周期运动。
1. Introduction
- 目标:学习运动空间的时空结构可以对运动数据进行插值,并在不同类型的运动内部和之间产生真实的过渡。即学习良好的运动空间可以生成真实的运动数据。
- 难点:学习运动空间结构的困难在于数据的稀疏性和空间的高度非线性结构。稀疏性主要体现在不同类型运动之间的切换过快时可以采集到的数据很有限;而高度非线性意味着通过邻近样本进行插值可能会产生过度平滑或不稳定的运动,因为运动空间中的相似性通常并不代表它们在时间上的相似性。
- 方法:为了解决这个问题,作者关注角色运动在时间和空间上的局部周期性。这是产生平滑且连续的运动空间所需的关键特征之一。除此之外,全身运动可以作为多个(空间)局部周期性运动的组合。这种局部周期性使我们能够构建一个通用的运动流形结构,其参数由相位、频率、偏移和幅度组成。
2. Related Work
-
原文:DeepPhase: Periodic Autoencoders for Learning Motion Phase Manifolds (SIGGRAPH, 2022)
-
PFNN:Phase-functioned Neural Networks,Holden et al. 2017
-
Neural state machine for character-scene interactions,Starke et al. 2019(同本文一作)
-
Local motion phases for learning multi-contact character movements,Starke et al. 2020(同本文一作)
3. Periodic Autoencoder
3.1 Network Structure
-
输入: 不同位点的运动曲线, X ∈ R D × N X\in R^{D\times N} X∈RD×N,其中D是身体自由度(特征维度),N是样本帧数(数据维度)
-
卷积编码器: 使用 1D 卷积来学习运动的低维 Latent Embedding,输出为 L ∈ R M × N L\in R^{M\times N} L∈RM×N,其中M是Latent的维度 L = g ( X ) L=g(X) L=g(X)
-
FFT周期化:通过将 L 中的每条潜在曲线参数化为正弦函数来强制周期性,该函数由幅度 (A)、频率 (F)、偏移 (B) 和相移 (S) 参数定义。通过使用可微的实数快速傅立叶变换 (FFT) 层得到输出 p ∈ R M × K + 1 , K = ⌊ N 2 ⌋ p\in R^{M\times K+1},K=\lfloor \frac{N}{2} \rfloor p∈RM×K+1,K=⌊2N⌋,然后逐元素计算每个通道的功率谱 p ∈ R M × K + 1 p\in R^{M\times K+1} p∈RM×K+1: c = F F T ( L ) , p i , j = 2 N ∣ c i , j ∣ 2 c=FFT(L), p_{i,j}=\frac{2}{N}|c_{i,j}|^2 c=FFT(L),pi,j=N2∣ci,j∣2
其中 i 是通道索引,j 是频带索引。相应的参数由下式给出:
其中,f是频率向量。这些操作提供了在时间窗口内构造 M 个周期函数的形状参数,但还不包括时序,即函数的相移。为了获得这个时序参数,我们为每条潜在曲线学习一个单独的全连接(FC)层,该层通过中间二维向量仅预测 T 中心帧处的有符号相移 S ∈ R M S\in R^{M} S∈RM:
-
重建Latent:根据学习到的参数 F、A、B 和 S,以及已知的时间窗口 T ,可以重建参数化的Latent, L ˆ ∈ R M × N \^L\in R^{M\times N} Lˆ∈RM×N:
-
反卷积解码器: 最后,网络使用解码器 h 中的 1D 反卷积对参数化潜在空间进行解码,以映射回原始输入运动曲线:
-
损失函数: 使用原始运动曲线和预测运动曲线之间的MSE重建损失来训练网络:
-
网络分析: 该模型结构促使网络学习不同运动剪辑中姿势的时间对齐,并以单向方式为每个新运动帧分配变化的相位。参数 A、F 和 B 约束周期信号的形状,并且网络必须学习合适的相位 S 正确绘制曲线。对于以帧 t + 1 为中心的运动窗口,从同一运动剪辑中提取,预计 A、F 和 B 的任何变化都将非常小(见下图)。由于使用了相同的卷积解码器,S 需要保持潜在空间与运动对齐。也就是说,模型必须有效地学习预测顺时针方向旋转的二维向量,以改变需要重建输入曲线的周期性嵌入的值。
-
为什么使用FFT? 构造相位流形的另一种可能性是直接通过网络学习周期性参数,而不是使用 FFT 层:作者对此进行了实验,不仅是相位参数,而且幅度和频率随时间振荡很多,导致非常嘈杂的噪声。学习将信号转换到频域似乎并不容易,而使用 FFT 层可以显着稳定学习过程。
3.2 Phase Manifold
本节介绍如何使用周期自动编码器计算的周期潜变量形成相位流形,即Latent的可视化。
-
网络训练后,可以通过沿运动曲线移动周期性自动编码器来计算每帧非结构化运动数据集的周期性参数。周期性参数表示潜在变量的局部周期性,根据参数可以形成维数为 R 2 M R^{2M} R2M的相流形 P,其中帧 t 处的样本由下式计算:
-
P 中的特征很好地描述了输入运动 X 内帧的时序,并且有助于对齐同一类或不同类运动中的运动。这意味着它们可以有效地充当神经运动合成或运动匹配的输入特征。下图中绘制了10个Latent通道的幅度和频率的分布,可以观察到每个相位通道学习提取运动中不同范围的幅度和频率值。所以该系统可以对各种细节或运动模式进行编码,这对于时间对齐很有用。
-
周期性自动编码器可以对非周期性运动以及周期性运动进行编码,例如从一种运动类型到另一种运动类型的过渡。这种非周期性的转变或运动行为可以以不同通道的振幅增加或减少的形式观察到(即人类行走并开始挥手),或者相移或频率的异步变化(即四足动物的步伐和小跑之间的转变)。如下图所示为包含不同足球运动行为的整个动画剪辑的提取相空间:每一行都是一个相位通道,其高度定义相位值,不透明度表示相位幅度。由于每个运动帧的参数是作为时间的函数单独学习的,因此可以提取周期性相位参数的非线性过渡,以最佳地对齐不同动画剪辑之间的运动。
3.3 Network Training
- 作者使用 3D 关节速度轨迹作为网络的输入,并减去基于窗口的均值以使运动曲线居中,但不应用任何标准偏差缩放以保持相对差异。输入数据以 60 Hz 帧速率覆盖中心帧周围的过去和未来各 60 帧(1 秒)。 这构造了一个输入向量 X ∈ R 3 J × N X\in R^{3J\times N} X∈R3J×N,其中 J 是关节特征的数量,N是时间样本。
- 对于编码器 g,使用两个卷积层,产生映射 ( 3 J × N ) → ( J × N ) → ( M × N ) (3J\times N)\rightarrow(J\times N)\rightarrow(M\times N) (3J×N)→(J×N)→(M×N)。每个卷积后面都有批量归一化和 tanh 激活函数。作者观察到批量归一化显着有助于稳定此任务的训练,并有助于防止潜在空间分布衰减或模型在训练时间过长时过度拟合。在计算其符号角之前,进一步对预测的相移矢量应用批量归一化。
- 解码器 h 再次涉及两个反卷积层,但仅在第一次反卷积之后应用批量归一化和 tanh 激活。
- 数据集:用于训练模型的动作捕捉数据集。每个数据集用于训练不同的周期性自动编码器和运动生成器。
3.4 Learned Phase Manifolds
按照3.2节所述计算每个数据集的相位流形后,计算相位特征的主成分 (PC),将它们投影到 2D 平面上(见图 6 底部)。为了进行比较,通过用全连接层替换相位层来计算嵌入,并在计算它们的 PC 后类似地将它们投影到 2D 平面(见图 6 中间)。最后还绘制了原始关节速度的 PC(见图 6 顶部)。 在这些图中,同一运动剪辑的所有样本都被分配相同的颜色,这意味着运动数据中的相邻帧在嵌入中应该紧密连接。可以看出,相流具有类似于极坐标的一致结构。周期代表各个运动的主要周期,其中时间由围绕中心的角度表示,幅度作为运动的速度。此外,样本在不同幅度或频率的周期之间平滑过渡,这表明运动之间的过渡点。
图 7 中突出显示了两足运动和舞蹈运动的 2D 投影的较短序列。这进一步阐明了相似运动状态的分割。与原始运动空间或完全连接的嵌入相比,在相空间中可以更好地表示角色运动和过渡。
最后,双足行走、程式化多周期行走和舞蹈运动的 PC 的 3D 可视化结果如图 8 所示。虽然双足行走只有一个单调周期,但程式化行走的多周期周期是可见的:在这种步行方式中,手臂移动得更快,其周期在垂直波浪中被捕捉到。舞蹈动作由多个不同频率的子周期组成。这导致各种方向的循环相互重叠。
4. Experiment and Evaluation
4.1 Motion Synthesis by Neural Netowrks
本节主要呈现部分结果,有关运动合成部分的细节见原文【4 MOTION CONTROLLERS】。
- 运动: 如下图9所示,该系统可以生成一系列的两足运动,同时上半身能够看到更多的动量和重力,因为提取的相位特征包含使上半身运动和下半身运动对齐的信息。 而之前的方法如PFNN 和 LMP 的相位是根据脚接触计算的,这可能会导致上半身运动模糊,尤其是当数据中包含此类变化时,剧烈运动更是如此。从图10中,系统还可以产生从低频到高频运动的平滑过渡。对于四足动物运动模式,系统生成的运动质量也很高
- 想要了解国内主办的覆盖学科最全最广的学术会议,请前往【会议官网】:
学术会议官网www.ais.cn