NASA:一种利用神经网络 学习三维模型动作的新方法
2020-04-16编辑部编译
编辑部编译
随着深度学习在计算机视觉和图形学领域中的广泛应用,越来越多的方法开始利用神经网络来学习三维几何模型的表征。最近,谷歌提出使用神经关节形状近似(NASA),来对有关节的三维模型进行估计。相较于以往的传统方法,它复杂度低、模型水密性好、模型估计效果好,具有良好的性能表现。
可以说,诸如人体之类的有关节对象的有效表征是计算机视觉和图形学中的一个重要问题。为了有效地模拟变形,现有方法将对象表示为网格,并使用蒙皮算法(Skinning algorithms)对其进行变形。本文提出了神经关节形状近似(NASA),该框架可通过使用姿势参数化的神经指示函数来实现有关节、可变形对象的有效表征。相较于传统方法,NASA避免了在不同表征形式之间进行转换的需求。对于占用测试,NASA规避了网格的复杂性并且解决了水密性问题。与常规网格和八叉树相比,我们的方法无需使用大量内存即可提供高分辨率。
介绍
近年来,人们对计算机视觉产生了浓厚的兴趣,希望开发出更好、更灵活的关于目标和场景的3D表征方法。而在这些领域中所取得的最新进展成果,部分是由用于场景理解的“逆向图形(inverse graphics)”管道的发展推动的。得益于深度神经网络在计算机视觉中的主导地位,我们可以看到逆向图形的蓬勃发展,尤其是当可微分的几何模型可用时。但是,在各种可能的应用中,有关节对象的神经模型却很少受到关注。可以说,有关节对象的模型非常重要,因为它们包含了人类的3D表征,在计算机游戏和动画电影,以及诸如增强现实和虚拟现实之类的其他应用程序中,虚拟人类都是中心主题。
现有的几何学习算法,包括针对人脸、身体和低层级几何的自监督方法,都依赖于完全可微的编码器—解码器体系架构的优化。其实,神经解码器的使用也是有可能实现的,但是当在架构中直接表达有关被建模现象的更多结构时,使用上述方法所产生的结果质量将得到显著提高。几何模型通常必须满足若干个目的,例如表征用于渲染的形状,或表征用于交叉查询的体积。尽管在有关节、可变形的环境中已开始使用神经网络,但它们仅仅解决了变形问题,同时又将交叉查询和整体关节都归类为经典方法,从而牺牲了完全可微性。
在本文中,我们所提出的方法是使用一个可微的神经模型对有关节对象进行表征,并训练了一个神经解码器。与以往的一些几何学习方法一样,我们用指示函数(也称为占用函数)来表示几何,该函数在对象内取值为1,在其他情况下则值为0。如果需要的话,可以通过移动立方体来提取显式表面。一般来说,以往的研究方法侧重于由(未知)形状参数所描述的静态对象集合,与之不同的是,我们在改变姿势参数时着眼于學习指示函数,这可以通过对动画序列的训练发现。总体而言,我们的主要研究成果是:
1.我们提出了一种通过神经网络来近似有关节、可变形模型的方法;
2.我们展示了如何明确地在网络中表示变形结构,在使用更少的模型参数的同时提供相似的性能和更好的泛化能力;
3.指示函数表征法支持有效的交叉和碰撞查询(collision query),因此无需将其转换为其他的表征法;
4.我们的研究方法在学习3D人体动作上的表现要优于以往的几何学习算法,并且可以与手工统计人体模型方法相媲美。
相关研究
神经形状近似方法提供了一个单一的框架来解决那些往往被单独解决的问题。因此,该方法所涉及的相关研究文献包括跨越多个不同领域的大量著作。
蒙皮算法:传统上,有效有关节变形是使用蒙皮算法完成的,该算法会在基础抽象骨架的关节发生变化时对网格表面的顶点进行变形。经典的线性混合蒙皮(LBS)算法将变形的顶点表示为若干个相邻骨骼刚性变换后的顶点的加权和。线性混合蒙皮算法广泛用于计算机游戏中,并且是目前流行的视觉模型的核心组成部分。通常情况下,为了进行压缩和操纵,平常的(不一定是具有关节的)变形对象的网格序列也是使用蒙皮算法来表示的,使用的往往是通过聚类发现的非层次“骨骼”变换的集合。当然,线性混合蒙皮算法也具有众所周知的缺点:变形具有一个过于简单的算法形式,无法生成与姿势相关的细节,会导致典型的体积损失效应,例如“塌陷的肘部”和“糖果包裹物”伪影,而为了获得最佳效果,必须由艺术家手动绘制权重。我们可以通过深度网络回归来添加与姿势有关的细节,此过程可作为是对经典线性混合蒙皮算法变形的修正。
对象交叉查询:注册、模板匹配、3D追踪、碰撞检测和其他任务等都需要有效的内部/外部测试。多边形网格的一个缺点是它们不能有效地支持这些查询,因为网格通常包含成千上万个必须针对每个查询进行测试的单个三角形。这导致了各种空间数据结构的发展,以加速点对象查询,包括体素网格(voxel grids)、八叉树等。在使对象变形的情况下,空间数据结构必须随着对象的变形而反复重建。进一步面对的问题就是典型网格结构的构建可能没有考虑“水密性”,因此没有一个关于内部空间的明确定义。
基于部位的表征:对于有关节对象的对象相交查询,根据支持有效相交测试的刚性部位(如球体或椭圆体)的移动集合来近似整体形状可能会更有效。不幸的是,这种做法有一个缺点,它引入了一个第二近似表征法,与原始期望变形不完全匹配。进一步的核心挑战和持续研究的课题便是自动创建这种基于部位的表征。最近,无监督部位发现方法被许多深度学习方法所取代,通常而言,这些方法解决了跨形状集合的分析和对应问题,但没有针对有关节、可变形对象的精确表征。这些方法中的任何一种都没有考虑与姿势有关的变形效应。
神经隐式对象表征:最近有一些研究使用神经隐式函数来表征对象。这些研究侧重于对齐规范框架中静态形状的神经表征上,而不是针对转换建模。因此,我们的研究方法可以被认为是上述这些方法的扩展,其核心区别在于它能够有效表地表征复杂而详细的有关节对象,如人体等。
评估
我们使用两个数据集在2D和3D中对提出的方法进行评估。数据集包括rest配置表面、采样的指示函数值、每个姿势的骨骼变换框架和蒙皮权重。然后,通过具有泛化能力的绕组数对参照指示函数进行可靠计算,并使用表面上的附加样本在变形表面周围的规则网格中对其进行评估。可以通过将预测结果与参照样本之间的“联合相交”(IOU)来评估模型的性能表现。
结论
在本文中,我们从神经角度介绍了可变形(实体)模型的几何建模问题,展示了与结构化基线相比,非结构化基线需要更多的神经预算,但更重要的是,它们根本不具有泛化能力。在结构化基线中,可变形模型在插值方面表现最佳,而刚性模型在外推基准方面领先。理解如何对这两个模型进行组合并学习这两种性能表现是很有趣的,但需要注意的是,只要查询姿势与训练时看到的姿势足够相似,可变形模型仍可在应用程序中使用。
我们所提出的方法可以应用于许多问题,包括复杂的有关节物体的表征,例如人物角色、用于计算机视觉注册和追踪的对象相交查询、用于计算机游戏和其他应用程序的碰撞检测以及网格序列的压缩等。在所有这些应用中,神经形状近似方法使得我们能够使用相同的通用方法来处理效率与细节之间的多种权衡。
未来,我们的一个研究方向是减少该方法中所需的监管数量,以便使其在应用中具有更好的性能表现。