综述
Human Motion Generation: A Survey
调查重点
根据给定的条件信号生成人体运动,主要讨论文本、音频和场景条件。
前置知识
Motion Data
人体运动数据表示
通过时间维度上的人体姿势序列来表示。
分为基于关键点和基于旋转的。
Keypoint-based
用一组关键点表示人体,是身体上与解剖标志相对应的特定点。
运动数据表示为随时间变化的一系列关键点配置。
需要解决逆运动学 (inverse kinematics) 问题并将关键点转换为旋转。
最近一些工作提出,用人体表面更多的身体标记来表示人体姿势,在身体形状和肢体扭曲方面信息更全面。
Rotation-based
人体姿势可以用关节角度来表示,即身体部位或节段相对于其父级在分层结构中的旋转。
基于关节角度,使用统计网络模型对人体进行建模,捕捉身体形状和运动过程中的变形。
统计人体模型:Skinned Multi-Person Linear model (SMPL)
SMPL 模型
由一组姿势和形状参数进行参数化,生成特定姿势和形状的人体 3D 网络。
Pose parameters:\(\theta \in \mathbb{R} ^{K \times 3}\),\(K=24\),由关节的标准骨骼运动树中相对于父关节的相对旋转定义。
Shape parameters:\(\beta \in \mathbb{R}^{10}\),表示身体形状配置,如身高等。
模型生成包含 \(N=6890\) 个顶点的三角网络,\(\mathcal{M}(\theta, \beta) \in \mathbb{R}^{N\times 3}\)。
获得最终网格后,通过预训练的线性回归器从顶点映射稀疏 3D 关键点。
SMPL-X 扩展了 SMPL,身体、面部、手部被联合建模。
替代建模方法,如 GHUM 和 STAR。
人体运动数据收集技术和特点
四种方法:
- 基于标记的运动捕捉 marker-based motion capture
- 无标记运动捕捉 markless motion capture
- 伪标记 pseudo-labeling
- 手动注释 manual annotation
Marker-based motion capture
将小型反射标记或 IMU 放置在对象身体的特定位置,然后跟踪这些标记在 3D 空间中的运动。
在 MoSh 的帮助下,通过应用正向运动学或参数化身体网格,使用该数据来获取 3D 关键点。
Makerless motion capture
使用计算机视觉算法,通过利用多视图几何获取 3D 运动,不需要一台或多台摄像机的标记。
在捕获过程中将设置并同步多个 RGB 或 RGB-D 相机。
Pseudo-labeling
用于野外捕获的单眼 RGB 图像或视频。
使用现有的人体姿势估计器 (OpenPose 和 VideoPose3D) 预测 2D 或 3D 人体关键点,或者将身体模型拟合到图像证据以生成伪 3D 网格标签。
Manual annotation
使用动画引擎手动设计人体运动。
MikuMikuDance,MMD,可生成高质量动画。
Motion Generation Methods
大致分为两类:
- 基于回归模型,使用从输入条件编码的特征预测人体运动
- 基于生成模型,对运动的基本分布(或条件下的联合分布)进行建模
VAE
通过使用前馈模型 (\(q_{\phi}(z|x)\)) 近似难以处理的后验,主要优化目标是最小化该近似值与原始后验之间的 KL 散度。
采用证据下界 ELBO 作为损失函数:
\(ELBO=\mathbb{E}_{z\sim q_{\phi}(z|x)}\log(p_{\theta}(x|z))-D_{KL}(q_{\phi} (z|x)||p_{\theta}(z))\)
NF
采用一系列可逆变换 \(\{f_i\}_{1:N}\) 把简单的先验分布 \(p(z_0)\) 映射到复杂的数据分布 \(p(x)\)
Motion Graph
表示为有向图 \(G=<V,E>\),V 表示节点或顶点的集合,E 表示有向边或过渡的集合。
每个节点 \(v\in V\) 表示一个姿势或关键帧,每个有向边 \(e \in E\) 连接两个顶点 \((v_1, v_2)\) 并表示相应姿势之间的可行过渡。
Motion Graph 基于运动剪辑的集合构建,识别运动剪辑中的兼容姿势,并将它们与边缘连接起来,形成一个可以遍历以生成新运动序列的图。构建运动图之后,在图上执行随机游走。
输出运动序列是与遍历的节点相对应的姿势的串联,确保姿势间的平滑过渡。
创建了原始数据集中明确存在但与数据的整体特征一致的新运动序列。
Text-conditioned Motion Generation
Action to Motion
根据特定类别,生成人体动作序列,通常用 one-hot 编码等技术表示。
现有的一些方法,主要擅长生成单动作运动,过渡到生成涉及多个动作的复杂序列仍是挑战,并且需要额外的 post-processing 来连接不同动作。
MultiAct 利用过去的运动来循环生成长期多动作 3D 人体运动,提出正面标准化方法。
Text to Motion
利用自然语言描述生成人类动作序列。
Audio-conditioned Motion Generation
音频条件可以通过原始音频波形、频谱图和梅尔频率倒谱系数 (MFCC) 来表示。
Music to Dance
根据输入的音乐序列生成相应的舞蹈动作。
一个简单的想法是使用 full-supervised 回归模型,类似于 seq2seq 的翻译。
基于 GAN 的方法应用对抗性学习来正则化生成的运动数据流形和真实运动数据流形之间的距离。
另一类方法基于经典的运动图框架,将运动生成视为求解预构造图中的最佳路径。
Speech to Gesture
根据输入语音音频生成一系列人类手势。集中在上半身运动。
Co-speech gestures 有显著的人际差异,现在的一些方法不考虑说话人的身份,需要为每个说话人建立单独的模型,并阻碍了向一般场景的转移。此外,仅限于对文本或语音音频进行建模,并且无法将两种模式结合。
Yoon 等人提出了考虑文本、音频和说话者身份三模态背景的生成框架。
Scene-conditioned Motion Generation
生成与场景上下文一致的合理人体运动。
Scene representation
现有的方法利用了场景表示的各种选项,包括 2D images,point clouds,mesh,3D objects和特定目标位置。
大多数方法采用不止一种类型的场景表示作为输入,其中许多方法采用 past motion 或 start pose 作为输入。还出现了一些使用额外语言指令或动作标签生成 motion 的方法。
Generation pipeline
大多数现有方法提出了 multi-stage pipeline。
一种常见的流程是首先预测目标位置或目标交互锚点,然后规划路径或轨迹,最后沿着轨迹填充运动。
其它工作利用给定的目标位置,而不是预测。
Dataset
常用的数据集可以根据附带的条件信号进行分类,如具有配对人体运动和文本、音频和场景条件信号的数据集。
Audio-Motion Datasets
- controlled dataset
- in-the-wild dataset
Evaluation Metrics
Fidelity
评估生成的 motion 的自然度、平滑度、合理性等。
Comparison with Ground-truth
-
Distance
-
Accuracy
计算 the Percentage Correct 3D Keypoints (PCK)
如果 joint 到 target 的距离在预定义的阈值内,就被视为准确。
Naturalness
评估生成 motion 的自然程度,通常通过将生成的运动流形与真实运动流形进行比较来衡量。
根据用于评估的空间,现有的度量可以分为 motion space 和 feature space。
- Motion space
一些方法基于 motion space 中的几何统计来测量分布距离。
- Feature space
使用独立的神经网络作为运动特征提取器来计算特征空间中的分布距离。
Physical Plausibility
物理合理性,指生成的运动符合物理规则的程度,特别是和脚与地面的相互作用相关:
- 脚的滑动
Some work measure the foot skating artifacts of the generated motion.
- 脚与地面的接触
Diversity
为了生成各种人体动作并避免重复的内容,研究人员从不同层面测量生成结果:单个运动序列内的多样性,不同运动序列之间的多样性。
Intra-motion Diversity
长序列运动生成会引发 freezing 问题。为了评估 non-freezability 并区分静态运动。
- Variation
- Freezing rate
Inter-motion Diversity
为了评估生成的运动流形的运动间多样性,现有的度量可以分为:
-
coverage
-
multi-modality
给定相同的条件信号,概率生成方法可以生成合理的相应运动的分布。多模态指标旨在评估分布的变化。
Condition Consistency
Text-Motion Consistency
- Accuracy
- Distance
Audio-Motion Consistency
- Beat (节拍)
评估生成的运动的运动节拍与输入音频节拍的对齐程度。
- Semantics
Scene-Motion Consistency
将场景划分为地面和其他物体来区分物理合理性和场景运动一致性。
- Non-collision score
评估生成的运动与环境中其它物体或障碍物发生碰撞的安全性和物理合理性。
- Human-scene contact
关注接触区域,来评估场景运动一致性,考虑到不同的场景条件有不同的定义。
User Study
- Preference
- Rating
Future Work
- Data
调查异构数据源的使用,弱监督学习方法,多模态基础模型。
- Semantics
如何为生成模型配备人类运动语义的先验知识。
-
Evaluation
-
Controllability
控制生成内容。
- Interactivity
人体运动的交互性,人与人以及人与环境相互作用。