METRO 掩码顶点模型人体Mesh重建 2021-07-02

视频版:https://www.bilibili.com/video/BV15B4y1T7Q7

Mesh和参数化模型

mesh网格模型可以通过顶点,
以及顶点按顺序连接形成的面元来建立3D模型,
要生成一个人体的3D mesh,
SMPL是一种常用的参数化方法,
基于23个关节的人体模型,
输入和比较少的85个参数,
10(β体型)+72(姿态)+3个参数(相机),
输出6890个顶点,以及一万多个面元。


SMPL关节关键点回归

针对手部也有类似的参数化模型比如说Mano,
许多基于深度学习的方法通过学习这些参数来估计姿态,
不过这篇今年六月份的工作没有使用这些参数,
而是直接估计了关节点以及mesh模型的431个顶点(人体),
再通过MLP上采样到原标准的6890个顶点的位置。

METRO掩码顶点模型

paper:https://arxiv.org/pdf/2012.09760.pdf
github:https://github.com/microsoft/MeshTransformer

该方法相比之前的模型取得了相当大的进步,


对比实验Mean Per Vertex Error 和 Mean Per Joint Position Error

Metro的核心思想就是寻找
各个关节以及顶点之间的依赖关系
这个依赖关系怎么找呢,嗯还是Transformer,
啊我感觉已经说烦了。。。。
不了解的同学建议好好学一学attention,入股不亏。


METRO模型结构,Transformer来自NLP领域的论文Attention is all you need

这里的输入序列是23个关节和431个顶点,
位置编码用的是一个人体mesh模板的3D坐标进行标记。
本来的特征长度是2048维的,加上这个3D坐标就变成了2051维。


学习到的关节和顶点之间的依赖程度

损失函数用的都是L1损失,
包括关节点以及顶点在三维空间的位置损失,
以及关节点投影到2D的位置损失。

然后通过再通过类似BERT的掩码语言模型进行训练,
简单点理解就是完形填空,
作者称之为Masked Vertex Modeling 掩码顶点模型,


通过实验验证,MVM的效果明显

如果增加遮掩的顶点数量,表现可以得到提升,
当30%的顶点被遮掉后差不多就饱和了。

不同主干网络的Mean Per Joint Position Error
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容