随着深度学习在计算机视觉以及图形学领域起到了越来越重要的作用,越来越多的方法基于神经网路模型建立了对三维几何模型的表达。然而,这些工作主要基于普通的不可变形的三维模型,对具有关节结构的可变形的三维模型的研究依然很少。但由于具有关节结构的三维模型包含了人体模型,广泛应用于游戏、电影、虚拟现实以及增强现实等领域,因此对于这类模型的研究便十分重要。
在本文中,作者提出了一种新的方法用于训练解码器D来估计有关节的三维模型,解码器生成的三维模型通过指示函数(indicator function)来表示,这一指示函数以三维模型的姿态作为参数,输入为三维空间中的点x,当该点位于三维模型内时,输出为1;位于三维模型外时,输出为0。与其他方法不同的是,NASA专注于通过姿态参数来估计三维模型的指示函数,这些姿态参数描述了三维模型是如何变形的。
这篇论文的贡献在于:1. 提出了一种通过神经网络估计有关节可变形的三维模型的方法;2. 通过明确地在网络中表示模型的变形结构,利用更少的模型参数实现了与之前方法相比相似的性能和更好的泛化能力;3. 指示函数这一表示方式支持交集和碰撞查询,无需再将其转换为其他的三维模型表示方式;4. 模型结果与之前的方法相比能够更好地学习三维人体模型的动作。
对于有关节的三维模型的变形,传统上采用蒙皮算法(Skinning algorithms),将三角网格曲面上的顶点的变化与三维模型骨架的变化结合起来,其中LBS(Linear Blend Skinning)算法将变换后的顶点表示为与该顶点相关联的骨架对该点的影响的权重和,但LBS算法也存在“collapsing elbow”以及“candy wrapper”的问题。
对于三维模型的表示,研究者们提出了一系列基于深度学习的方法对三维模型分块进行表示。对于指示函数这一基于隐式场的三维模型表示方式,也存在很多相关的工作,但这些工作并没有考虑变形的因素。
NASA模型介绍:1. 非结构化模型(Unstructured model – “U”);2. 分片刚体模型(Piecewise rigid model – “R”);3. 分片可变形模型(Piecewise deformable model – “D”);4. 实现细节。模型效果在2D以及3D数据集上分别进行了测试,模型的表现通过预测结果与ground-truth之间的交并比来评测。
二维数据集包含了100组动作,在这一数据集几何形状的生成通过两种方式:①对于刚性数据集,包含了一组形状的集合,每个形状对应了模型的每个骨架,在整个模型的姿态发生变化的过程中,每个单独的形状不会发生变化。②对于混合数据集,则通过LBS算法得到变形的形状。对二维数据集的实验结果如下图所示。
可以看到,对于训练集,三种方法都拟合出了较为不错的效果,对于结构化的两种方法,由于“D”并没有限制每一个part不能改变形状,因此“D”相较于“R”在LBS数据集上具有更好的效果。但是,“U”与“D”都有过拟合的现象产生,只有“R”在测试集上依然表现出了不错的效果。对于三维模型的测试在AMASS数据集上实现,实验结果如下所示,与二维数据的结果类似。
本文提出了一种新的思路,利用深度学习的方法,通过模型的姿态参数来估计有关节可变形的三维模型,并比较了结构化模型(R, D)相较于非结构化模型(U)具有更高的效率以及更好的泛化能力。这一方法的提出对表示复杂的有关节模型例如人体具有重要意义。
未来方向:1. “R”相较于“D”在实验中展示出了更好的泛化能力,但“D”在一些场景下依然具有较高的利用价值,是否可以将这两种模型进行结合;2. 对于可变形模型来说,是否可以学习到模型的;3. 是否可以用符号距离函数来代替当前的指示函数;4. NASA是否可用于differentiable rendering;5. 可变形的三维模型的运动的表示方式是否可以只通过二维信息来获取。