视频版:https://www.bilibili.com/video/BV15B4y1T7Q7
Mesh和参数化模型
mesh网格模型可以通过顶点,
以及顶点按顺序连接形成的面元来建立3D模型,
要生成一个人体的3D mesh,
SMPL是一种常用的参数化方法,
基于23个关节的人体模型,
输入和比较少的85个参数,
10(β体型)+72(姿态)+3个参数(相机),
输出6890个顶点,以及一万多个面元。
针对手部也有类似的参数化模型比如说Mano,
许多基于深度学习的方法通过学习这些参数来估计姿态,
不过这篇今年六月份的工作没有使用这些参数,
而是直接估计了关节点以及mesh模型的431个顶点(人体),
再通过MLP上采样到原标准的6890个顶点的位置。
METRO掩码顶点模型
paper:https://arxiv.org/pdf/2012.09760.pdf
github:https://github.com/microsoft/MeshTransformer
该方法相比之前的模型取得了相当大的进步,
Metro的核心思想就是寻找
各个关节以及顶点之间的依赖关系
这个依赖关系怎么找呢,嗯还是Transformer,
啊我感觉已经说烦了。。。。
不了解的同学建议好好学一学attention,入股不亏。
这里的输入序列是23个关节和431个顶点,
位置编码用的是一个人体mesh模板的3D坐标进行标记。
本来的特征长度是2048维的,加上这个3D坐标就变成了2051维。
损失函数用的都是L1损失,
包括关节点以及顶点在三维空间的位置损失,
以及关节点投影到2D的位置损失。
然后通过再通过类似BERT的掩码语言模型进行训练,
简单点理解就是完形填空,
作者称之为Masked Vertex Modeling 掩码顶点模型,
如果增加遮掩的顶点数量,表现可以得到提升,
当30%的顶点被遮掉后差不多就饱和了。