论文超详细精读:SMPL: A Skinned Multi-Person Linear Model


请添加图片描述
(左)SMPL模型(橙色)适合ground truth 3D网格(灰色)。(右)Unity 5.0游戏引擎屏幕截图,可实时显示CAESAR数据集中的人体动画。

前言

笔者从人工智能小白的角度,力求能够从原文中解析出最高效率的知识。
之前看了很多博客去学习AI,但发现虽然有时候会感觉很省时间,但到了复现的时候就会傻眼,因为太多实现的细节没有提及。而且博客具有很强的主观性,因此我建议还是搭配原文来看。

请下载原文《SMPL: A Skinned Multi-Person Linear Model》搭配阅读本文,会更高效哦!

总览

首先,看完标题,摘要和结论,我了解到了以下信息:

  1. SMPL是一个逼真的人体形状和姿势学习模型,与现有的渲染引擎兼容,允许动画师控制,并可用于研究目的。目的是创建逼真的动画人体,可以表示不同的身体形状,通过姿势自然变形,并显示出像真人一样的软组织运动,同时可以利用已有的软件和渲染引擎环境以加快渲染速度。
  2. 提出了一种学习人体形状和位置依赖的形状变化模型,模型的参数从数据中学习,包括静止姿势模板、混合权重、姿势相关的混合变形、身份相关的混合变形以及从顶点到关节位置的回归。与以前的模型不同,姿势相关的混合变形是姿势旋转矩阵元素的线性函数。这个简单的公式能够从相对大量的不同姿势的不同人的对齐3D网格中训练整个模型。
  3. 将pose blend shapes建模成rotation matrices(旋转矩阵)的线性函数。因为旋转矩阵的元素是有界的,所产生的变形也是有界的,有助于模型更好地推广。

一、Introduction

  1. 目标是自动学习一个既逼真又与现有图形软件兼容的人体模型。为此,作者描述了一个“皮肤多人线性”(SMPL)人体模型,它可以真实地表示各种人体形状,可以设置姿势相关的自然变形,展示软组织动力学,高效的动画,并与现有的渲染引擎兼容。
  2. PCA(主成分分析)法学习男性和女性体型的线性模型。方法分为两步:
  • 对于每一个扫描和姿态注册一个模板mesh
  • 使用PCA,得到的主成分就是身体混合形状(body shape blend shapes)
  1. 基于顶点的蒙皮模型(如SMPL)实际上比基于变形的模型(如BlendSCAPE)在相同数据上训练的精度更高。

二、Related Work

在这里插入图片描述

Blend Skinning(混合蒙皮)

骨架子空间变形方法,也称为混合蒙皮,将网格的曲面附加到底层骨架结构。网格曲面中的每个顶点都使用其相邻骨骼的加权影响进行变换。该影响可以像在线性混合蒙皮(LBS)中那样线性定义。LBS的问题已经被广泛发表,文献中有很多试图解决这些问题的通用方法,例如四元数或双四元数蒙皮、球形蒙皮等。

Blend shapes (混合变形)

作者采取了一种更类似于加权姿势空间变形(WPSD)的方法,它定义静止姿势中的校正,然后应用标准蒙皮方程(例如LBS)。其思想是为特定关键姿势定义校正形状(雕刻),以便在添加到基础形状并通过混合蒙皮变换时,生成正确的形状。

Learning pose and shape models(学习姿势和形状模型。)

作者想要的是一个基于顶点的模型,它具有三角形变形模型的表现力,这样它就可以捕捉到一系列自然的形状和姿势。

三、Model Formulation

在这里插入图片描述
(a)模板网格,其混合权重由颜色指示,关节显示为白色。(b)仅具有身份驱动的混合形状贡献;顶点和关节位置在形状向 β ⃗ \vec\beta β 中是线性的。(c) 在准备分割姿势时添加了姿势混合变形;请注意臀部的扩展。(d)由分割姿势的双四元数蒙皮放置的变形顶点。

  1. Blend skinning
  2. Pose blend shapes.
  3. Shape blend shapes.
  4. Joint locations.

四、Training

部分转载自《SMPL: A Skinned Multi-Person Linear Model论文解读

一个3D人体mesh由6890个网格顶点和23个关节点组成:

  • N = 6890 N=6890N=6890,3D人体mesh的网格顶点总数。
  • K = 23 K=23K=23,3D人体mesh的关节点总数。

同时,作者指出,SMPL将3D人体mesh的状态分为shapepose

  • shape影响人体mesh的形状(高矮胖瘦)
  • pose影响人体mesh的姿态(动作姿势)

因为是在三维空间,一个点有三个坐标(x , y , z),一个标准3D人体mesh的6890个mesh顶点可表示为:

  • T T T,一个 6890 × 3 6890\times3 6890×3 的矩阵。注意,这个矩阵是常数值(对于单独一种性别的mesh来说)

同理,一个标准3D人体mesh的23个关节点可表示为:

  • J J J,一个 24 × 3 24\times3 24×3 的矩阵,23个关节点+1个root orientation。注意,这个矩阵是常数值(对于单独一种性别的mesh来说)

另外,还有blend weight,也就是每一个关节点的坐标变化对每一个mesh顶点坐标变化的影响:

  • W W W,一个 6890 × 24 6890\times24 6890×24的矩阵。注意,这个矩阵的值需要训练得到

接下来,文章作者定义了影响shape和 pose的两组参数:

  • shape,影响高矮胖瘦:β,10个参数,值在-1到1之间
  • pose,影响动作姿势:θ,72个参数,后69个值在-1到1之间,3*23 + 3,影响23个关节点+1个root orientation的旋转。前三个控制root orientation,后面每连续三个控制一个关节点

这10+72个参数,便是以一个标准3D人体mesh为基础,生成不同shape、不同pose的3D人体mesh所需要的参数。
在这里插入图片描述
如上图,(a)是一个标准3D人体mesh,也就是由 T T T J J J 生成,而颜色代表 W W W
(b),是改变了shape后的3D人体mesh,也就是由 T T T J J J ,外加β \betaβ的影响生成
©,是改变了shape和pose后的3D人体mesh,也就是由 T T T J J J,外加 β 、θ 的影响生成
(d),是在©的基础上,加入了 W W W 的影响后的结果。

### 回答1: SCAPE、BlendSCAPE、SMPLSMPL-H、SMPL-X、STAR都是人体模型的名称。 SCAPE是一种非常流行的3D人体模型,由麻省理工学院的高维媒体实验室开发。SCAPE模型使用一组可变的参数来捕捉人体的形态和姿势变化。 BlendSCAPE是一种在SCAPE模型的基础上进行改进的模型,它在SCAPE模型的基础上增加了更多的参数,使得模型更加逼真。 SMPL是一种用于模拟人体形态和姿势的3D人体模型,由洛杉矶加州大学的人体动力学研究所开发。SMPL模型使用一组参数来捕捉人体的形态和姿势变化。 SMPL-H是SMPL模型的扩展版本,它在SMPL模型的基础上增加了更多的参数,使得模型能够更加准确地模拟人体的高度、肌肉和脂肪分布等。 SMPL-X是SMPL模型的另一个扩展版本,它在SMPL模型的基础上增加了更多的参数,使得模型能够更加逼真地模拟人体的形态和姿势变化。 STAR是一种3D人体模型,由麻省理工学院的高维媒体实验室开发。STAR模型使用一组参数来捕捉人体的形态和姿势变化, ### 回答2: SCAPE(Shape Completion and Animation)是一个用于形状补全和动画的研究项目。它的目标是从单一的参考姿势重建3D模型并进行形状完成。通过该项目,用户可以创建和编辑高分辨率的3D模型,实现更加自然和逼真的动画。 BlendSCAPE是一个用于混合动作生成的算法。它可以根据用户提供的参考动作以及源和目标角色的约束来生成中间动作。这个算法的优点在于它能够自动生成过渡动画,从而减轻了动画师的工作负担。 SMPLSkinned Multi-Person Linear Model)是一个用于生成人体姿势和形状的模型。它可以将输入的姿势参数和形状参数转换为3D模型的姿势和形状。这个模型在计算机图形学和计算机视觉领域有广泛应用,可以用于生成逼真的人体动画、人体姿势识别等。 SMPL-H是SMPL模型的一个变体,它是专门针对于人体手部姿势建模的。它在SMPL的基础上增加了手部骨骼的细节,使得生成的人体模型更加逼真。SMPL-H可以用于手势识别、手部动画生成等领域。 SMPL-X是SMPL模型的扩展版本,它对原来的模型进行了改进,特别是在干扰视觉领域中更加具有挑战性的情况下。SMPL-X适用于各种身体类型、肌肉质量和体形特征的人,可以模拟出更加真实的人体形状和动作。 STAR是一种用于身体姿势重建和动画生成的框架。它结合了SMPL和BlendSCAPE的技术,可以实现从单张图像或者视频中重建出3D人体姿势,并进行动画生成和编辑。STAR框架在计算机视觉和计算机图形学领域有广泛应用,可以用于虚拟现实、游戏开发、人机交互等方面。 ### 回答3: SCAPE是一种用于人体姿势和形状建模的方法。它基于一个三维人体模型的隐式参数表示,并且能够从有限的输入数据中学习模型的参数。SCAPE模型可以用于生成具有多样性和逼真性的人体形状。 BlendSCAPE是一种通过融合多个人体形状进行姿势生成的方法。它可以从多个不同形状的人体模型中获得姿势参数,并将它们结合起来生成新的人体姿势。BlendSCAPE可以用于生成多样性的人体动画或形状变换。 SMPLSkinned Multi-Person Linear model)是一种用于对多人姿势进行建模的方法。它基于线性模型来表示多人姿势的形状和动作。SMPL模型可以用于生成多人姿势的三维模型,以及进行人体姿势估计和动作识别等任务。 SMPL-H是SMPL的一个变种,它在模型中加入了高维度的手部表达。SMPL-H模型可以更准确地捕捉到人体的手部姿势,并且可以用于手部动作分析和手势识别等任务。 SMPL-X是SMPL的另一个改进版本,它在模型中增加了更多的身体部位和形状特征。SMPL-X模型可以更好地捕捉到人体的细节特征,例如面部表情和手指关节运动,并且可以用于更复杂的人体动作分析和合成任务。 STAR(Sparse-skinning Transform-aware Autoencoder Regression)是一种用于人体姿势估计的方法。它通过学习一个稀疏的表示来估计人体姿势和形状,同时考虑到姿势和形状之间的相互关系。STAR方法可以用于实时的人体姿势估计和动作捕捉等应用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

湘粤Ian

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值