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

文章目录

  • 前言
  • 总览
  • 一、Introduction
  • 二、Related Work
    • Blend Skinning(混合蒙皮)
    • Blend shapes (混合变形)
    • Learning pose and shape models(学习姿势和形状模型。)
  • 三、Model Formulation
  • 四、Training


论文超详细精读:SMPL: A Skinned Multi-Person Linear Model_第1张图片
(左)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

论文超详细精读:SMPL: A Skinned Multi-Person Linear Model_第2张图片

Blend Skinning(混合蒙皮)

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

Blend shapes (混合变形)

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

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

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

三、Model Formulation

论文超详细精读:SMPL: A Skinned Multi-Person Linear Model_第3张图片
(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所需要的参数。
论文超详细精读:SMPL: A Skinned Multi-Person Linear Model_第4张图片
如上图,(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 的影响后的结果。

你可能感兴趣的:(目标检测,计算机视觉,CV论文精读,人工智能,计算机视觉,深度学习,视觉检测,目标检测)