SMPLify-X:从单张图像重建3D人体、手部和表情.
- paper:Expressive Body Capture: 3D Hands, Face, and Body from a Single Image
- arXiv:link
作者提出了SMPL三维人体模型的改进版本:SMPL-X (eXpressive),在原有人体姿态的基础上增加了手部姿势和面部表情。为从单张RGB图像中学习三维人体姿态,作者提出了SMPLify模型的改进版本:SMPLify-X;后者具有更好的姿态先验、更多细节的碰撞惩罚、性别检测和更快的PyTorch实现。
SMPL-X
SMPL-X模型是一个由参数控制的3D人体模型,包含$N=10475$个面元(vertex)和$K=54$个人体关节点。
SMPL-X模型由函数$M(\theta, \beta, \psi):\Bbb{R}^{|\theta| \times |\beta| \times |\psi|} \to \Bbb{R}^{3N}$定义。包含如下参数:
- 姿态(pose)参数$\theta \in \Bbb{R}^{3(K+1)}$额外引入一个全局旋转的关节点,将其分解为颌关节点$\theta_f$、手指关节点$\theta_h$和身体关节点$\theta_b$。
- 形状(shape)参数$\beta$
- 面部表情(facial expression)参数$\psi$
SMPL-X模型表示为:
\[M(\beta, \theta, \psi) = W(T_P(\beta, \theta, \psi), J(\beta), \theta, \mathcal{W})\]其中$W$是标准线性蒙皮函数,它根据蒙皮模板$T_P$、关节回归$J$、Pose参数$\theta$和混合权重$\mathcal{W}$计算输出3D mesh。其中蒙皮模板$T_P$计算如下:
\[T_P(\beta, \theta, \psi) = \overline{T} + B_S(\beta;\mathcal{S}) + B_E(\psi;\mathcal{\epsilon}) + B_P(\theta;\mathcal{P})\]$\overline{T}$是模板的平均形状,$B_S$、$B_E$和$B_P$分别表示Shape、Facial expression和Pose的混合形状函数。 $B_S$是由Shape参数$\beta$和形状权重PCA基$\mathcal{S}$计算得到的。 $B_E$是由Facial expression参数$\psi$和表情权重PCA基$\mathcal{\epsilon}$计算得到的。 $B_P$是由Pose参数$\theta$和姿态权重PCA基$\mathcal{P}$计算得到的。 这些PCA基是通过PCA从样本中提取的。
SMPLify-X
SMPLify-X能够从单张RGB图像中学习人体的SMPL-X模型,其优化的目标函数为:
\[E(\beta, \theta, \psi) = E_J + \lambda_{\theta_b}E_{\theta_b} + \lambda_{\theta_f}E_{\theta_f} + \lambda_{m_h}E_{m_h} + \lambda_{a}E_{a} + \lambda_{\beta}E_{\beta} + \lambda_{\epsilon}E_{\epsilon} + \lambda_{C}E_{C}\]- $E_J$惩罚估计的$2D$关节点坐标$J_{est}$和对应的SMPL-X坐标映射之间的$2D$加权距离;
- $E_{\theta_b}$对身体关节点呈现姿态的优先程度进行惩罚;
- $E_{\theta_f}$对面部关节点呈现姿态的优先程度进行惩罚;
- $E_{m_h}$对手部关节点呈现姿态的优先程度进行惩罚;
- $E_{a}$对肘部(elbow)和膝盖(knee)的弯曲程度进行惩罚;
- $E_{\beta}$描述正在优化的形状参数与训练数据集中的形状分布之间的Mahalanobis距离;
- $E_{\epsilon}$对面部关节点呈现表情的优先程度进行惩罚;
- $E_{C}$是穿模惩罚项。