《SMPL: A Skinned Multi-Person Linear Model》
作者:Matthew Loper
主页:https://smpl.is.tue.mpg.de/
时间:2015
文章目录
Table of Notation
Model generation functions
- W W W:蒙皮函数(Skinning function)
- M M M:SMPL模型函数(SMPL function)
- B P B_P BP:姿态混合变形函数(Pose blendshapes function)
- B S B_S BS:形状混合变形函数(Shape blendshapes function)
- B D B_D BD:动态混合变形函数(Dynamic blendshapes function)
- J J J:关节点回归函数,从表皮预测关节点(Joint regressor: Predicts joints from surface)
Model input parameters(controls)
- β → \overrightarrow{\beta} β:形状参数(Shape parameters)
- θ → \overrightarrow{\theta} θ:姿态参数(Pose parameters)
- θ ∗ → \overrightarrow{\theta^*} θ∗:初始姿态下的姿态参数,即姿态混合形变为0的情况(Zero pose or rest pose; the effect of the pose blendshapes is zero for that pose)
- ω → \overrightarrow{\omega} ω:关节点对应的3维旋转参数(Scaled axis of rotation; the 3 pose parameters corresponding to a particular joint)
- ϕ → \overrightarrow{\phi} ϕ:动态控制向量(Dynamic control vector)
- δ → \overrightarrow{\delta} δ:动态形状系数(Dynamic shape coefficients)
Model parameters(parameters learned)
- S \mathcal S S:形状混合变形参数(Shape blendshapes)
- P \mathcal P P:姿态混合变形参数(Pose blendshapes)
- W \mathcal W W:混合变形权重(Blendweights)
- J \mathcal J J:关节点回归矩阵(Joint regressor matrix)
- T ‾ \bf {\overline{T}} T:模板的平均形状(Mean shape of the template)
Training data
- V \bf V V:一个注册样本(A registration)
- V P {\bf V}^P VP:姿态数据集注册样本(Pose dataset registration)
- V S {\bf V}^S VS:形状数据集注册样本(Shape dataset registration)
- T ^ P {\bf \hat{T}}^P T^P:模板姿态下,姿态数据中,对象形状(Pose dataset subject shape; body vertices in the template pose)
- J ^ P {\bf \hat{J}}^P J^P:模板姿态下,姿态数据中,对象关节点数据(Pose dataset subject joint locations in the template pose)
- T ^ S {\bf \hat{T}}^S T^S:模板姿态下,形状数据中,对象形状(Shape dataset subject shape; body vertices in the template pose)
- T ^ μ P {\bf \hat{T}}^P_\mu T^μP:模板姿态下,姿态数据中,平均形状(Mean shape of a pose subject; body vertices in the template pose)
- J ^ μ P {\bf \hat{J}}^P_\mu J^μP:模板姿态下,姿态数据中,平均关节点(Mean joint locations of a pose subject; body vertices in the template pose)
- T ^ μ S {\bf \hat{T}}^S_\mu T^μS:模板姿态下,形状数据中,平均形状(Mean shape of a subject in the shape dataset; body vertices in the template pose)
0 Abstract
本文提出了一种新的人体形状和姿态( human body shape and pose)相关形状变化的学习模型—SMPL(Skinned Multi-Person Linear model),它是一种基于顶点蒙皮的模型( skinned vertex-based model),可以准确地表示人体自然姿态中的各种形状。该模型比以前的模型更精确,并且与现有的图形引擎兼容,也可用于学术研究,还可以将其扩展到动态软组织形变(dynamic soft-tissue deformations)的真实模型中。
模型的参数从数据中学习得到,包括:初始化姿态模板(rest pose template),混合权重(blend weights),姿态混合变形(pose-dependent blend shapes),身份混合变形( identity-dependent blend shapes),顶点到关键点回归器(a regressor from vertices to joint locations)。与之前的模型不同,本文在姿态混合形变中采用的是一种姿态旋转矩阵元素的线性函数,这种简单的线性函数使得可以从拥有不同人不同姿态的大量3D网络(3D mesh)标记的数据中训练得到完整模型。最终使用线性或双四元蒙皮来评估模型,证明在同样训练集上SMPL精度远超Blend-SCAPE Model。
1 Introduction
本文的目标是创造逼真的人体动画,可以表示不同的人体形状,自然的姿势变形,表达软组织运动更像真正的人,模型能够快速渲染,易于部署,并且与现有的渲染引擎兼容。
商业中通常是手工绑定一个网格(mesh),然后根据一些传统的剥皮方法手工纠正混合形状,这通常需要大量混合形状,且构建它们所需的手工工作量很大。一些替代方法,研究团队专注于从不同姿势的不同身体扫描样本中学习统计人体模型,虽然很有前途,但这些方法与现有的图形软件和使用标准皮肤绘制方法,呈现引擎不兼容。
本文目标是自动学习一个既真实又兼容现有图形软件的人体模型。为此,提出了一个多人体线性蒙皮(SMPL)模型,该模型可以真实地表示多种人体形状,可以用自然的位置变形来构成,呈现软组织动态,能够有效地动画(animate),并且与现有的渲染引擎兼容,如图:
传统方法对顶点与底层骨架结构之间的关系进行建模,基于线性混合皮肤(linear blend skinning,LBS)模型是最广泛使用的,所有的游戏引擎都支持它,并且渲染效率很高。但它们会在关节处产生不真实的变形,包括众所周知的太妃糖(taffy)和蝴蝶结(bowtie)效应,如图:
2 Related Work
- Blend Skinning:骨架子空间变形方法,也称混合蒙皮,就是将网格(mesh)表皮连接到底层骨架上,每个网络表皮的顶点都根据邻近骨骼权重加权影响进行变化,这种影响就是线性混合蒙皮(LBS),常见的有四元素混合蒙皮(quaternion skinning),双四元素混合蒙皮(Dual-Quaternion blend skinning (DQBS)),球形蒙皮(spherical skinning)
- Auto-rigging:自动绑定
- Blend shapes:混合变形
- Learning pose models:学习姿态模型
- Learning pose and shape models:学习姿态和形状模型
3 Model Formulation
本文提出的SMPL模型,是由人工设计的网格(mesh),包括N=6890个顶点,K=23个关键点,男女拥有相同的拓扑结构,空间分辨率,干净的4轴结构,局部分割,初始化混合参数,骨骼绑定。与SCAPE相同的是模型分解身体形状为身份标识形状和非刚性姿态形状;与SCAPE不同的是SMPL采用正确的混合形状进行顶点蒙皮,即单个混合形状表示为链接顶点偏移量的向量。SMPL如下图所示:
-
(a)图
-
T ‾ \bf {\overline{T}} T:表示模板平均形状(mean template shape), T ‾ ∈ R 3 N \bf\overline{T}\in\mathbb{R}^{3N} T∈R3N,N表示顶点个数;
-
θ ∗ → \overrightarrow{\theta^*} θ∗:初始姿态
-
白色点:K个关节点
-
W \mathcal W W表示一组混合权重: W ∈ R N × K \mathcal W\in\mathbb{R^{N\times K}} W∈RN×K,图中不同颜色来表示。
-
(b)图
-
β → \overrightarrow{\beta} β:形状参数向量(shape parameters)
-
B S ( β → ) : R ∣ β → ∣ ↦ R 3 N B_S(\overrightarrow{\beta}):\mathbb{R^{|\overrightarrow{\beta}|}}\mapsto\mathbb{R^{3N}} BS(β):R∣β∣↦R3N:形状混合变形函数(blend shape function)
-
J ( β → ) : R ∣ β → ∣ ↦ R 3 K J(\overrightarrow{\beta}):\mathbb{R^{|\overrightarrow{\beta}|}}\mapsto\mathbb{R^{3K}} J(β):R∣β∣↦R3K:预测K个关键点的函数
-
(c)图
-
θ → \overrightarrow{\theta} θ:姿态参数向量( pose parameters)
-
B P ( θ → ) : R ∣ θ → ∣ ↦ R 3 N B_P(\overrightarrow{\theta}):\mathbb{R^{|\overrightarrow{\theta}|}}\mapsto\mathbb{R^{3N}} BP(θ):R∣θ∣↦R3N:姿态混合变形函数(pose-dependent blend shape function)
-
(d)图
-
W ( . ) W(.) W(.):标准混合蒙皮函数(standard blend skinning function),可以是线性的,也可是双四元素,被用于根据平滑关节中心的混合权重来旋转顶点。
所以SMPL表示为: M ( β → , θ → ; Φ ) : R ∣ θ → ∣ × ∣ β → ∣ ↦ R 3 N M(\overrightarrow{\beta},\overrightarrow{\theta};\Phi):\mathbb{R^{|\overrightarrow{\theta}|\times|\overrightarrow{\beta}|}}\mapsto\mathbb{R^{3N}} M(β,θ;Φ):R∣θ∣×∣β∣↦R3N
其中 Φ \Phi Φ就是模型需要学习的参数
3.1 Blend skinning
用标准的骨骼绑定定义身体姿态,姿态参数:
θ
→
=
[
w
→
0
T
,
.
.
.
,
w
→
k
T
]
T
\overrightarrow{\theta}=[\overrightarrow{w}_0^T,...,\overrightarrow{w}_k^T]^T
θ=[w0T,...,wkT]T
其中K=23,则有3*23+3=72维参数,多出的3维是根节点的旋转参数,
w
→
k
∈
R
3
\overrightarrow{w}_k\in\mathbb{R^3}
wk∈R3表示在运动树( kinematic tree)中子节点k相对父节点的各个轴的相关旋转参数。则可以用罗德里格公式(Rodrigues formula)将每个关节点
j
j
j的轴角转换为旋转矩阵:
其中
- w ‾ = w → ∣ ∣ w → ∣ ∣ \overline{w}=\frac{\overrightarrow{w}}{||\overrightarrow{w}||} w=∣∣w∣∣w:相对旋转轴的单位化旋转参数
- w ‾ ^ \hat{\overline{w}} w^:斜对称矩阵( skew symmetric matrix)
- I \mathcal I I:3x3单位矩阵
则标准的LBS函数可表示为:
其中
- T ‾ \bf\overline{T} T:初始化姿态(rest pose)
- J \bf J J:关节点位置(joint locations)
- θ → \overrightarrow{\theta} θ:姿态参数(pose)
- W \mathcal W W:混合权重参数(blend weights)
- 输出:姿态顶点(pose vertices)
则对于 T ‾ \bf\overline{T} T中每个顶点 t ‾ i \overline{t}_i ti可通过下面公式进行顶点变换:
其中
- w k , i w_{k,i} wk,i:混合矩阵 W \mathcal W W的一个元素,表示顶点 i i i的受到关节 k k k的旋转的影响权重
- e x p { θ j → } exp\{\overrightarrow{\theta_j}\} exp{θj}:是关节点 j j j对应的旋转矩阵,见公式1
- G k { θ → , J } G_k\{\overrightarrow{\theta},\bf J\} Gk{θ,J}:关节k的世界变换( world transformation)
- G k ′ { θ → , J } G'_k\{\overrightarrow{\theta},\bf J\} Gk′{θ,J}:是在去除基于初始化姿态后的世界变换(offset量)
- j j j_j jj: J \bf J J中的每3个元素对应一个关节
- A { k } A\{k\} A{k}:是关节k的有序的父节点集合
- 注意:为了兼容渲染引擎,本文假设 W \mathcal W W是稀疏的,只允许最多4个部分来影响一个顶点。
为了保持稳定性,本文保持了基础的蒙皮函数,而是以附加的方式来修改模板,并训练一种可以回归关节点的函数,则SMPL模型,可表示为:
其中 B S ( β → ) B_S(\overrightarrow{\beta}) BS(β)和 B P ( θ → ) B_P(\overrightarrow{\theta}) BP(θ)都表示与模板之间的偏移量;根据这个定义顶点变换则为:
其中
- b S , i ( β → ) b_{S,i}(\overrightarrow{\beta}) bS,i(β):是 B S ( β → ) B_S(\overrightarrow{\beta}) BS(β)中顶点 i i i相对于 t ‾ i \overline{t}_i ti的形状混合变形( shape blend shapes)偏移量
- b P , i ( θ → ) b_{P,i}(\overrightarrow{\theta}) bP,i(θ):是 B P ( θ → ) B_P(\overrightarrow{\theta}) BP(θ)中顶点 i i i相对于 t ‾ i \overline{t}_i ti的姿态混合变形( pose blend shapes)偏移量
3.2 Shape blend shapes
不同人身体形状由线性函数 B S B_S BS表示:
其中
- β → = [ β 1 , . . . , β ∣ β → ∣ ] T \overrightarrow{\beta}=[\beta_1,...,\beta_{|\overrightarrow{\beta}|}]^T β=[β1,...,β∣β∣]T:是需要动画师确定的参数
- ∣ β → ∣ |\overrightarrow{\beta}| ∣β∣:线性形状系数( linear shape coefficients)的个数
- S n ∈ R 3 N \bf S_n\in\mathbb{R}^{3N} Sn∈R3N:形状位移( shape displacements)的正交主成分(orthonormal principal components)
- S = [ S 1 , . . . , S ∣ β → ∣ ] ∈ R 3 N × ∣ β → ∣ \mathcal S=[\bf S_1,...,S_{|\overrightarrow{\beta}|}]\in\mathbb{R}^{3N\times|\overrightarrow{\beta}|} S=[S1,...,S∣β∣]∈R3N×∣β∣:所有形状位移矩阵,是需要训练得到的矩阵
- 如图3_b,拥有不同的形状混合变形( shape blend shapes),就拥有一个新的身体形状
3.3 Pose blend shapes
本文定义的姿态混合形状函数与之前研究有所不同,混合函数是线性的:
其中
- θ → \overrightarrow{\theta} θ:姿态向量 θ → = [ w → 0 T , . . . , w → k T ] T \overrightarrow{\theta}=[\overrightarrow{w}_0^T,...,\overrightarrow{w}_k^T]^T θ=[w0T,...,wkT]T
- R : R ∣ θ → ∣ ↦ R 9 K R:\mathbb{R^{|\overrightarrow{\theta}|}}\mapsto\mathbb{R^{9K}} R:R∣θ∣↦R9K:就是映射姿态向量为旋转矩阵 e x p ( w → ) exp(\overrightarrow{w}) exp(w)的函数,见公式1;由于K=23,所以 R ( θ → ) R(\overrightarrow{\theta}) R(θ)向量长度为(23*9=207)
- P n ∈ R 3 N \bf P_n\in\mathbb{R}^{3N} Pn∈R3N:混合变形,也是顶点位移向量
- P = [ P 1 , . . . , P 9 K ] ∈ R 3 N × 9 K \mathcal P=[\bf P_1,...,P_{9K}]\in\mathbb{R}^{3N\times9K} P=[P1,...,P9K]∈R3N×9K:所有207维姿态混合变形(pose blend shapes)矩阵,需要训练得到
3.4 Joint locations
不同形状身体拥有不同关键点位置,这些关键点位置必须准确,否则蒙皮时会出现伪影( artifacts),所以本文定义基于身体形状的关键点函数:
其中
- J \mathcal J J:将顶点映射出关键点的矩阵,需要训练得到,它是链接网络顶点与关键点重要环节
3.5 SMPL model
通过上述,总结一下SMPL,SMPL模型参数为:
这些参数一旦确定,新的身体形状和姿态(body shapes and poses)就可以被创建,分别通过改变 β → \overrightarrow{\beta} β和 θ → \overrightarrow{\theta} θ来实现动画。所以SMPL模型最终定义为:
每个顶点变化为:
其中
- 表示作用混合变形后的顶点 i i i,
- 这里 s m , i , p n , i ∈ R 3 s_{m,i},p_{n,i}\in\mathbb{R}^3 sm,i,pn,i∈R3分别是形状和姿态混合变形( shape and pose blendshapes)相对于模板顶点 t ‾ i \overline{t}_i ti的元素
本文对混合函数LBS和DQBS均有尝试,模型也对应SMPL-LBS和SMPL-DQBS(默认)
4 Training
对其网格(aligned meshes):注册(registrations)
1)多姿态数据 (multi-pose dataset)
- FAUST:Dataset and evaluation for 3D mesh registration;
- 20男895样本,20女891样本,供1786样本,样例如图:
2)多形状数据(multi-pose dataset)
- CAESAR: Civilian American and European Surface Anthropometry Resource final report;
- 1700男性样本,2100女性样本,样例如图:
3)训练说明
- 前文提到了,本文是将姿态和形状分开的,所有对于训练目标参数: Φ = { T ‾ , W , S , J , P } \Phi=\{\bf{\overline{T}},\mathcal {W,S,J,P}\} Φ={T,W,S,J,P},分开训练
- 用多姿态数据训练: { J , W , P } \{\mathcal{J,W,P}\} {J,W,P}
- 用多形状数据训练: { T ‾ , S } \{\bf\overline{T},\mathcal S\} {T,S}
- 分男女模型: Φ m \Phi_m Φm, Φ f \Phi_f Φf
4.1 Pose Parameter Training
姿态参数训练,及在多人姿态数据集FAUST上训练参数 { J , W , P } \{\mathcal{J,W,P}\} {J,W,P},首先介绍当前情况下符号含义:
- T ^ i P \hat{T}^P_i T^iP:该数据上,第 i i i个人的初始化模板(rest templates),前文提过了参数都是相对模板的偏移量,不同的人有不同的模板
- J ^ i P \hat{J}^P_i J^iP:第 i i i个人的初始化关键点
- θ j → \overrightarrow{\theta_j} θj:第 i i i个人的第 j j j个姿态参数(pose parameters)
所谓姿态参数训练:指找到一组全局参数 { W , P } \{\mathcal{W,P}\} {W,P}和回归矩阵 { J } \{\mathcal J\} {J}使得,将当前 θ j → \overrightarrow{\theta_j} θj在初始 T ^ i P \hat{T}^P_i T^iP基础上变换,得到目标mesh,要求与训练集中的mesh( V j P V^P_j VjP)逼近;那么用什么来保证生成的目标mesh与训练mesh逼近呢?文中定义了目标函数 { E D , E J , E Y , E P , E W } \{E_D,E_J,E_Y,E_P,E_W\} {ED,EJ,EY,EP,EW}
-
数据项 E D E_D ED:表示注册mesh与模型生成mesh的L2距离
其中参数维度
- P \mathcal P P:207*3*6890=4278690
- W \mathcal W W:4*3*6890=82680
- J \mathcal J J:3*6890*23*3=146230
-
左右不对称惩罚项 E Y E_Y EY:为了让模型估计更加良好,针对 J ^ i P \hat{J}^P_i J^iP和 T ^ i P \hat{T}^P_i T^iP设计了左右不对称惩罚项
其中
- λ U = 100 \lambda_U=100 λU=100
- U ( T ) U(T) U(T):镜像
- 本项鼓励对称模板mesh,当然关键点更被看重,这有助于回归姿态,尤其是像脊柱这种难以定位的点
-
回归器项 E J E_J EJ:
本文将模型分割为24个部分,并利用这些分割来计算估计关节点和回归器 J I J_I JI,如图:
-
E P E_P EP:为了防止姿态相关混合(the pose-dependent blend shapes)过拟合,本文调整姿态混合形状(pose blend shapes)矩阵 P \mathcal P P趋近于0:
-
E W E_W EW:调整混合矩阵 W \mathcal W W与初始矩阵 W I \mathcal W_I WI逼近,见上图6:
综上,训练参数 { W , P } \{\mathcal {W,P}\} {W,P}的能量函数为:
其中
- λ Y = 100 \lambda_Y=100 λY=100
- λ J = 100 \lambda_J=100 λJ=100
- λ P = 25 \lambda_P=25 λP=25
- 由于模型具有大量参数,较大的正则项有助于防止过拟合
Joint Regressor
通过上面的优化过程可以得到训练集中每个人物的模板网格(template mesh)和关节点(joint location),但是如果我们想为新的人物形状预测其关节位置呢?本文中通过学习一个回归矩阵(regressor matrix J)预测关节位置。
本文尝试了很多策略,但发现通过非负最小二乘(non-negative least squares)计算得到,并使权重加起来为1,这种方法最好,它鼓励使得计算关节点的顶点是稀疏的,同时权重非负和加起来为1又使得预测的关节点不会出现在mesh的外侧。下图展示了非零元素的回归矩阵,举例说明稀疏顶点的线性组合估计关节点:
4.2 Shape Parameter Training
SMPL模型的形状空间被定义为一个均值模板和主成分形状方向(a mean and principal shape directions):
{
T
‾
,
S
}
\{\overline{T},S\}
{T,S}。它是通过在多形状数据集上,在姿态归一化(pose normalization)后,对注册样本的形状进行PCA计算得到的。
姿态归一化:将数据集中的注册
V
j
S
V^S_j
VjS转化为一个与初始姿态
θ
∗
→
\overrightarrow{\theta^*}
θ∗对应的注册
T
^
i
S
\hat{T}^S_i
T^iS;这步归一化很重要的,保证了姿态和形状建模互不干扰。
那么如何进行归一化呢?对于数据集中的每个
V
j
S
V^S_j
VjS,首先估计它的姿态,然后寻找姿态表示
θ
j
→
\overrightarrow{\theta_j}
θj,使得经过这个参数变换后的mesh与原始的mesh误差最小,即:
其中
- T ^ u P \hat{T}^P_u T^uP:多姿态数据集的均值形状
- T ^ u P \hat{T}^P_u T^uP:多姿态数据集的均值姿态
- W e ( . ) W_e(.) We(.):模型计算的一条边(an edge of the model),边是通过一对相邻顶点之间相减得到的
- V j , e S V^S_{j,e} Vj,eS:数据集中对应的一条边
当姿态 θ → \overrightarrow{\theta} θ得到后,求解 T ^ i S \hat{T}^S_i T^iS,通过最小化:
在 { T ^ j S } j = 1 S s u b j \{\hat{T}^S_j\}^{S_{subj}}_{j=1} {T^jS}j=1Ssubj上应用PCA计算得到 { T ‾ , S } \{\bf\overline{T},\mathcal S\} {T,S},这个过程的目的是,在给定有限的形状方向条件下,相对于初始姿态,最大化顶点偏移的可解释性方差( explained variance)。图8展示了标准差(standard deviations)对形状的影响:
4.3 Optimization summary
优化过程:
- 首先通过最小化model和registration的edge差异求得姿态参数 θ j → \overrightarrow{\theta_j} θj,见公式15
- 通过交替的方式最小化目标函数 { T ^ P , J ^ P , W , P , Θ } \{\hat{T}^P,\hat{J}^P,\mathcal W,\mathcal P,\Theta\} {T^P,J^P,W,P,Θ},得到对各参数的估计,见公式14
- 然后从 { T ^ P , J ^ P } \{\hat{T}^P,\hat{J}^P\} {T^P,J^P}估计关节点回归矩阵 J \mathcal J J
- 在 { T ^ j S } j = 1 S s u b j \{\hat{T}^S_j\}^{S_{subj}}_{j=1} {T^jS}j=1Ssubj上应用PCA计算得到 { T ‾ , S } \{\bf\overline{T},\mathcal S\} {T,S}
上述步骤中除了PCA这一步,其他优化步骤使用通过gradient-based算法求解,使用chumpy框架。
5 SMPL Evaluation
5.1 Quantitative Evaluation
Model generalization:评估模型拟合新的人和姿态的能力,测试形状和姿态混合形状( shape and pose blend shapes)
Pose generalization:将一个人生成同一个人的新的姿态的能力,测试好的状态混合形状(well pose blend shapes),正确的蒙皮效果,姿态依赖变形( pose-dependent deformations)
Dyna dataset:4女2男,120个注册样本
下图10中展示一些中间过程和其他模型表现,最后一列表示注册,蓝色表示BlendSCAPE模型效果,第一列表示只做形状变化,第2列表示姿态依赖混合形状(pose-dependent blend shapes)的影响,中间为SMPL-LBS效果
图11和图12显示了SMPL模型和BlendSCAPE的误差,在使用不同身体形状系数的时候。SMPL和BlendSCAPE之间的差异很小(大约0.5mm),但是SMPL平均更准确。
5.2 Sparse SMPL
每个顶点变化仅仅允许最多4个关节点的影响,对于每个关节点均对应一个旋转矩阵,则任意给定顶点的姿态混合形状将由 9 ∗ 4 9*4 9∗4个参数决定,而非 9 ∗ 32 9*32 9∗32个参数
5.3 Visual Evaluation
图13展示了SMPL模型形状参数( shape parameters, β → \overrightarrow{\beta} β)和姿态参数(pose parameters, θ → \overrightarrow{\theta} θ)的分解效果,从左到右表示形状变化,从上到下表示姿态变化,详情可见主页Supplemental Video。
5.4 Run-time Performance
图14展示了模型在不同身体形状系数条件下,生成mesh的时间开销,可以看出SMPL不会随形状参数个数增加而耗时
5.5 Compatibility with Rendering Engines
- Maya2013
- Maya2014
- Maya2015
- Unity
- animated Autodesk’s Filmbox (FBX)file
6 DMPL: Dynamic SMPL
7 Conclusions
SMPL身体模型使用一个形状模板,混合矩阵,从形状预测关键点的函数,形状混合变形改变身份,姿态混合变形纠正正确的姿态变形,动态混合变形来捕获软组织动态。所有这些参数都是从数据中学习来的,比SCAPE模型精度更高,可以通过重定向(retarget )姿态和软组织动态来适应新的角色