一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

生成非线性人类形状模型的制作方法

2022-12-10 00:32:34 来源:中国专利 TAG:


1.本公开通常涉及三维(3d)人类形状建模流水线。更具体地,本公开涉及包括或使用机器学习的三维人类形状模型的系统和方法,该机器学习的三维人类形状模型至少具有已经过端到端联合训练的面部和身体形状组件。


背景技术:

2.人类的运动、动作和表情对于各种技术领域都具有重要的实际意义,并且受到持续的关注。作为示例,图像和视频中的创造性捕捉、身临其境的摄影和物理3d空间推理都是受益于改进的人体建模的技术领域。因此,能够在姿势、形状、面部表情和/或手部操作的层面上准确表示全身细节的模型是必不可少的,以便捕捉和深入分析那些只有在3d中才能完全理解的微妙交互。
3.虽然在图像和视频中定位人类简笔画方面,并且在某些条件下,可以提升到等效的3d骨架和基本形状的方面,已经取得了相当大的进展,但是以3d物理空间为基础,在语义有意义的表面层面上重构人体的准确模型的总的探索仍然是正在经历重大创新的领域。
4.模型构建进步的潜力,至少在中期内,似乎处于直观的物理和语义人类建模与大规模捕捉数据集之间的影响程度。虽然随着时间的推移,已经构建了用于面部、手部和身体的许多有趣而强大的模型,但大多数(如果不是全部的话),它们都是孤立建立的,而不是在完整的人体背景下建立的。因此,不可避免的是,他们没有利用最近在深度学习背景下出现的大规模数据分析和模型构建过程。
5.作为示例,众多最近的全身模型,如亚当、弗兰克或smpl-x,结合了用于面部、身体和手部的传统组件,但通常专注于在已经学习的组件上构建一致的、联合的参数化和适当的缩放。这使得难以同时充分利用所有数据中的结构,试验组件的替代表示或不同损失,评价最终影响,以及创新。


技术实现要素:

6.本公开的实施例的方面和优点将在以下描述中部分地阐述,或者可以从描述中获知,或者可以通过实施例的实践获知。
7.本公开的一个示例方面针对一种计算系统,其特征在于至少具有端对端联合训练的面部和身体形状组件的机器学习的三维人类形状模型。该计算系统包括一个或多个处理器和共同存储机器学习的三维人类形状模型的一种或多种非暂时性计算机可读介质。机器学习三维人类形状模型包括机器学习面部表情解码器模型,其被训练为处理与人体相关联的面部表情嵌入,以生成人体的面部表情数据。机器学习的三维人类形状模型包括机器学习的姿势空间变形模型,其被训练为处理一组姿势参数以生成人体的姿势相关的形状调整。机器学习三维人类形状模型包括机器学习形状解码器模型,其被训练为处理与人体相关联的静止形状嵌入,以生成人体的基于同一性的静止形状数据。对机器学习的三维人类形状模型进行训练以至少部分地基于面部表情数据、姿势相关的形状调整,和基于同一性
的静止形状数据来生成人体的设定姿势网格。机器学习的面部表情解码器模型、机器学习的姿势空间变形模型,和机器学习的形状解码器模型中的所有模型都已经至少部分地基于重构损失函数进行了端到端的联合训练,该重构损失函数将通过用于训练身体的机器学习的三维人类形状模型生成的训练设定姿势网格与训练身体的一个或多个真值(ground truth)配准的形状扫描进行比较。
8.本公开的另一个示例方面针对一种用于端到端联合训练机器学习的三维人类形状模型的计算机实现的方法。该方法包括:通过包括一个或多个计算设备的计算系统获得训练身体的一个或多个真值配准的形状扫描,其中训练身体的一个或多个真值配准的形状扫描至少包括具有任意姿势的真值配准的全身扫描和真值配准的面部细节扫描。该方法包括通过计算系统使用形状编码器模型对具有静止姿势的估计的配准全身扫描进行编码,以获得与训练身体相关联的静止形状嵌入。该方法包括通过计算系统使用形状解码器模型解码静止形状嵌入,以获得训练身体的基于同一性的静止形状数据。该方法包括通过计算系统使用面部编码器模型对从真值配准的面部细节扫描中导出的数据进行编码,以获得与训练身体相关联的面部表情嵌入。该方法包括通过计算系统使用面部解码器模型对面部表情嵌入进行解码,以获得训练身体的面部表情数据。该方法包括通过计算系统至少部分地基于该基于同一性的静止形状数据、面部表情数据和对应于该任意姿势的一组姿势参数来生成用于训练身体的训练设定姿势网格。该方法包括评估重构损失函数,该重构损失函数将用于训练身体生成的训练设定姿势网格与具有任意姿势的真值配准的全身扫描和真值配准的面部细节扫描进行比较。该方法包括至少部分基于重构损失来联合训练形状编码器模型、形状解码器模型、面部编码器模型和面部解码器模型。
9.本公开的另一示例方面针对一种或多种非暂时性计算机可读介质,其共同存储机器学习的三维人类形状模型,包括:机器学习的面部表情解码器模型,其被训练为处理与人体相关联的面部表情嵌入以生成人体的面部表情数据;以及机器学习的形状解码器模型,其被训练为处理与人体相关联的形状嵌入,以生成人体的基于同一性的形状数据。对机器学习的三维人类形状模型进行训练以至少部分地基于面部表情数据、一组姿势参数和基于同一性的形状数据来生成人体的设定姿势网格。机器学习的面部表情解码器模型和机器学习的形状解码器模型已经至少部分地基于重构损失函数进行了端到端联合训练,该重构损失函数将通过用于训练身体的机器学习的三维人类形状模型生成的训练设定姿势网格与训练身体的一个或多个真值配准的形状扫描进行比较。
10.本公开的其他方面针对各种系统、装置、非暂时性计算机可读介质、用户界面和电子设备。
11.参考以下描述和所附权利要求,将更好地理解本公开的各种实施例的这些和其他特征、方面和优点。并入本说明书并构成其一部分的附图对本公开的示例实施例进行了图示,并与描述一起用于解释相关原理。
附图说明
12.在参考附图的说明书中阐述针对本领域普通技术人员的实施例的详细讨论,其中:
13.图1描绘了根据本公开的示例实施例的示例人类形状模型的示例评估。
14.图2描绘了根据本公开的示例实施例的示例机器学习人类形状模型的框图。
15.图3描绘了根据本公开的示例实施例的特写的头部和手部扫描。
16.图4描绘了根据本公开的示例实施例的示例人类形状模型的示例评估。
17.图5描绘了根据本公开的示例实施例的示例姿势空间变形模型的框图。
18.图6描绘了根据本公开的示例实施例的示例人类形状模型的示例评估。
19.图7描绘了根据本公开的示例实施例的编码技术的示例分析。
20.图8描绘了根据本公开的示例实施例的示例人类形状模型的示例评估。
21.图9描绘了根据本公开的示例实施例的示例人类形状模型的示例评估。
22.图10描绘了根据本公开的示例实施例的从单目图像进行的人类姿势和形状重构。
23.图11a描绘了根据本公开的示例实施例的示例计算系统的框图。
24.图11b描绘了根据本公开的示例实施例的示例计算设备的框图。
25.图11c描绘了根据本公开的示例实施例的示例计算设备的框图。
26.在多个附图中重复的附图标记旨在标识各种实现方式中的相同特征。
具体实施方式
27.1.介绍
28.总体上,本公开针对一种完全可训练的模块化深度学习框架内的统计的铰接的3d人类形状建模流水线。具体而言,本公开的各方面针对机器学习的3d人类形状模型,其至少具有对一组训练数据端到端联合训练的面部和身体形状组件。模型组件的联合训练(例如,包括面部和身体组件)使能提高所生成的面部和身体形状之间的合成一致性。
29.更具体地,在一些实现方式中,一组训练数据可以包括以各种姿势捕捉的人类的高分辨率完整3d身体扫描,可选地连同他们的头部和面部表情和/或手部关节活动的附加特写。一个示例训练数据集可以包括超过34,000种不同的人类配置。在一些实现方式中,可以将这些扫描中的每一个配准到一个或多个初始的、艺术家设计的、性别中性的装配的四边形网格,以获得人体的配准的形状扫描。
30.这里描述的一些示例机器学习的3d人类形状模型可以包括多个子模型或其他模块化组件。作为示例,人类形状模型可以包括:机器学习面部表情解码器模型,其被训练为处理与人体相关联的面部表情嵌入,以生成人体的面部表情数据;机器学习的姿势空间变形模型,其被训练为处理一组姿势参数以生成人体的姿势相关的形状调整;和/或机器学习形状解码器模型,其被训练为处理与人体相关联的静止形状嵌入以生成人体的基于同一性的静止形状数据。例如,在一些实现方式中,解码器模型可以作为相应自编码器(例如,变分自编码器)的一部分被训练,该相应自编码器被训练为接收输入形状网格(例如,面部网格或身体静止形状网格)并生成相应的嵌入(例如,面部表情嵌入或静止形状嵌入)。
31.可被包括在机器学习的3d人类形状模型中的附加示例模型可以包括:机器学习的关节中心预测模型,其被训练为处理基于同一性的静止形状数据以生成人体的骨架表示的多个关节的多个预测关节中心,和/或机器学习的混合蒙皮模型,其被训练为处理面部表情数据、姿势相关的形状调整、基于同一性的静止形状数据以及一个或多个预测关节中心以生成人体的设定姿势网格。
32.根据本公开的一个方面,上述或以其他方式被包括在机器学习的3d人类形状模型
中的部分或全部模型可以基于共享损失函数进行端到端联合训练。因此,在一些实现方式中,可以在单个一致的学习循环中训练所有模型参数,包括基于变分自编码器的非线性形状空间、姿势空间变形修正、骨架关节中心预测和/或混合蒙皮函数。
33.同时训练3d动态扫描数据上的所有模型(例如,超过34000种不同的人类配置)可以提高整体模型捕捉相关性的能力,并确保各种组件(例如,建模的面部、身体和/或手部)的一致性。换句话说,通过对可以包括面部、身体和/或手部扫描的训练数据使用面部、身体和/或手部组件的联合训练,所得到的模型可以更自然和一致地支持面部表情分析,以及身体(具有详细的手部)形状和姿势估计。
34.本公开提供了两个示例性的完全可训练的性别中性的通用人类模型,其如本文所述进行构造和训练,并具有两种不同的分辨率——由10168个顶点组成的中等分辨率ghum和2852个顶点的低分辨率ghum(ite)。还为这两个示例人类模型提供了示例实验数据,这表明了具有减少的误差的改进的质量和一致性。作为示例,图1提供了ghum和ghuml对ghs3d数据的示例评估,左侧是两个模型的热图。渲染图示出了受试者(后排)的不同身体姿势的配准,以及分别位于中间和前排的ghuml和ghum拟合。两个模型都表明了良好的质量估计,其中ghum的误差较低。
35.因此,本公开的各方面针对一种用于构建能够驱动身体形状以及面部表情和/或手部运动的全身的、统计的人类形状和姿势模型的端到端学习流水线。提供了端到端流水线和统一损失函数,其使能计算系统在具有解剖学关节角度约束的最小人类骨架参数化的背景下执行深度学习,允许同时训练所有模型组件,包括非线性形状空间、姿势空间变形修正、骨架关节中心估计器,和/或的混合蒙皮函数。该模型可以通过高分辨率全身扫描以及移动面部和/或手部的特写进行训练,以便确保身体部位组件之间的最大细节和设计一致性。
36.此外,描述了新收集的通用人类形状的3d数据集ghs3d,该数据集由超过30000张照片逼真的动态人体扫描组成。示例实施例还使用来自caesar的超过4000次全身扫描。提供了中等分辨率模型ghum和专门设计的(非下采样)低分辨率模型ghuml,并且在不同的线性和非线性模型(pca或用于身体形状和面部表情的变分自编码器)下,针对配准和受约束的3d表面拟合评价了它们的相对性能。还说明了从图像中恢复形状和姿势。
37.本文描述的系统和方法提供众多技术效果和益处。作为一个示例技术效果,本公开的系统和方法可以提供人类形状的更真实的二维或三维渲染图或模型,包括在身体、面部和/或手部特征之间具有改进的一致性的人类形状。具体来说,模型组件可以学习彼此相一致,也可以学习跨领域的模式或关系。因此,本公开的系统和方法可以使能计算系统执行改进的人类建模功能。
38.作为另一示例技术效果,通过联合训练多个模型组件,可以减少产生人类形状模型所需的训练时间总量。更具体地说,以前的方法单独训练面部和身体部位,然后试图在之后将它们组合起来,这导致了两个不同的训练过程,然后需要附加的工作来促进组合,这可能仍然是不一致的。所提出的方法在一个端到端的过程中联合训练所有模型组件,从而使得训练和作为结果的模型更加一致。
39.现在参考附图,将更详细地讨论本公开的示例实施例。
40.2.示例实现概述
41.给定被表示为非结构化点云的人体扫描的训练集,其中点的数量p变化,提供了使能学习表示身体形状的可变性和关节活动导致的自然变形的统计的身体模型的技术。身体模型x可以具有例如由艺术家提供的(装配的)模板网格指定的v个顶点的一致的拓扑,并且α可以是控制形状和关节活动导致的身体变形的一组变量。如图2所图示的,为了从扫描数据y中学习数据驱动的人类模型,可以首先将身体模板配准到点云,以便获得相同拓扑的新的、配准的真值网格,其被标记为
42.然后可以将配准的真值网格x
*
馈入到端到端的训练网络中,其中,调整模型参数α以产生作为关节活动和形状调整的结果的与输入紧密匹配的输出。可以使用各种技术,包括经由迭代最近点(icp)损失(与用于配准那些相同)对点云的直接模型参数调整,或者与代理网格x
*
对齐。将相同的模型拓扑的输入网格x
*
作为目标,使得该过程变得相当快,并且表现出更好的训练损失。
43.因此,图2图示了示例端到端统计3d铰接的人类形状模型构建的概览。训练输入可以包括一组高分辨率3d身体扫描,包括静止(或“a”)姿势和展示出各种关节活动和软组织变形的任意姿势。此外,可以收集详细面部表情的头部特写扫描和/或捕捉不同手势和对象抓取的手部特写扫描。这些扫描通常以y示出。
44.可以通过以下操作来自动识别身体标志(landmark):渲染来自多个虚拟视点(例如,其可以不同于用于收集数据的原始相机组)的数据的照片真实感3d重构(例如,使用多视图立体三角测量技术获得的),检测所生成的图像中的那些标志,并且三角测量图像中的标志检测,以便获得它们对应的3d重构。在尽可能共形(conformal)的表面先验下,可以使用结合了稀疏标志对应和密集迭代最近点(icp)残差(例如,实现为点扫描到网格面距离)的损失,将艺术家设计的全身铰接的网格渐进地配准到点云。配准的真值形状扫描通常以x
*
示出。
45.图2所图示的示例人类形状模型可以具有被实现为身体φb的深度变分自编码器(vae)以及面部表情φf的偏移vae的非线性形状空间。示例人类形状模型还包括由具有j个关节的骨架k调制的可训练的姿势空间变形函数d,中心预测器c,和混合蒙皮函数m。
46.在一些实现方式中,在训练期间,可以使用相同受试者的所有高分辨率扫描(全身以及脸部和手部的特写)(参见图3),其中通过滤波器f对残差进行适当地掩码。对于模型构建,可以使用n个捕捉的受试者,有b个全身扫描,f个特写手部扫描和h个特写头部扫描。在一些实现方式中,在学习期间,训练算法可以在最小化每次扫描θ中关于姿势估计的损失函数和相对于其他模型参数(φ,γ,ψ,ω)对其优化之间交替。
47.在操作中,对于姿势和形状估计,模型可以由参数α=(θ,β)控制,包括运动学姿势θ以及身体形状和面部表情β=(βf,βb)的vae隐空间,其中编码器-解码器由φ=(φf,φb)给出。
48.2.1示例人类模型表示
49.本公开的示例实现方式可将人类模型表示为由具有j个关节和利用线性混合蒙皮(lbs)变形的皮肤的骨架k指定的铰接的网格,以显式编码关节的运动。除了骨架关节活动运动,非线性模型可以用于驱动面部表情。具有j个关节的模型x可以公式化为m(α=(θ,β),φ,γ,ω),或详细地说为
[0050][0051]
其中,是处于“a”姿势的基于同一性的静止形状(参见图2),其中β是编码身体形状可变性的低维度静止形状嵌入向量(可以使用包括pca或vae的不同低维度表示);类似地,是利用低维度面部表情嵌入βf来控制的中性头部姿势的面部表情;是取决于身体形状的骨架关节中心;是骨架姿势参数的向量,其由每个关节的欧拉角(直至)3个旋转dof和根(root)的3个平移变量组成;是每顶点的蒙皮权重(例如,在一些实现方式中,其可能最多受一些关节的影响(例如,i=4));以及最后将姿势相关的修正混合形状添加到静止形状以修复蒙皮伪影。
[0052]
使用艺术家定义的装配模板网格(v
ghum
=10,168,v
ghuml
=2852,j=63)分别生成被称为ghum和ghuml的所提出的人类模型的两种示例实现方式。对于,ghum和ghuml这二者,图2所图示的流水线估计了所有的参数(θ,φ,γ,ψ,ω),尽管网格拓扑和关节层级k被认为是固定的。该层级在解剖学上(因此最低限度地)参数化,以便在优化期间也可以利用生物机械关节角度限制。顶点xi∈x可以写为
[0053][0054][0055]
其中,tj(θ,c)是关节j的通过从根到j遍历运动链所集成的世界变换矩阵。可以通过乘以静止姿势下的世界变换矩阵的逆来构建从静止到设定姿势网格的变换。
[0056]
3.示例端到端统计模型学习
[0057]
本节提供了对优化蒙皮权重ω的示例端到端基于神经网络的流水线的描述,并学习从多受试者、多姿势配准的表面网格x
*
到全身和特写的面部及手部扫描的静止形状嵌入面部表情嵌入同一性形状相关的关节中心c(β),以及与姿势相关的混合形状(参见图2)。作为icp配准的结果,一些示例重构损失可以使用一一对应(one-to-one correspondence)下的每顶点的欧几里德距离误差来公式化:
[0058][0059]
其中f是考虑不同类型数据的滤波器(例如,全身扫描而非特写)。在一些实现方式中,为了构建x(α),可以与统计形状参数联合估计姿势θ。作为一个示例,可以执行块坐标下降,包括基于bfgs层在当前形状参数下的姿势参数θ的估计和用固定的θ更新其他模型参数之间交替。例如,可以从艺术家提供的默认值来初始化蒙皮,所有其他参数为0。每个子模块可以基于全局损失(4)来更新参数α。
[0060]
3.1示例变分身体形状自编码器
[0061]
在一些示例实现方式中,可以通过在静止或中性“a”姿势下,将模型配准到caesar
数据集(4329个受试者)以及ghs3d中的捕捉的扫描来获得多受试者形状扫描。作为一个示例,图3图示出了头部和面部扫描的特写。一些示例实现通过融合身体扫描和特写手和头部扫描来估计中性a姿势下的全身形状。与从单个身体扫描进行身体形状估计相比,这些示例实现方式可以利用附加的头部和手部形状细节。
[0062]
给定针对多个受试者估计的静止形状可以为身体形状变化建立压缩隐空间。作为一个示例,代替简单地建立pca子空间,可以使用具有低维度隐子空间的深度非线性变分自编码器来表示身体形状。因为在一些实现方式中,网格关节活动是估计的,所以到(多个)自编码器的输入扫描都在“a”姿势下被很好地对齐,而没有来自刚性变换和姿势关节活动的显著扰动。
[0063]
在一些示例实现方式中,编码器和解码器可以使用参数relu激活函数,因为它们可以针对某些参数对恒等变换或标准relu进行建模。作为标准实践,变分编码器可以输出平均值和方差(μ,σ),其可以通过重新参数化技巧而被变换到隐空间,以便获得采样码βb。在一些实现方式中,可以使用简单的分布并且可以将kullback-leibler散度集成到损失函数中以正则化隐空间。因此,一个示例公式如下:
[0064][0065][0066]
其中编码器se将平均身体形状的方差捕捉到隐向量中βb并且解码器sd从βb构建静止形状以匹配输入的目标静止形状。具体而言,一些示例实现方式将编码器和解码器的第一层和最后一层分别初始化到pca子空间其中l是隐空间的维度。所有其他完全连接的层都可以初始化为恒等的,包括prelu单元。在一些示例实现方式中,对数方差条目的子矩阵可以被初始化为0,并且偏差可以被设置为足够大的负值。以此方式,网络将有效地从线性模型初始化,同时例如与pca相比,保持附加参数最小。
[0067]
3.2示例变分面部表情自编码器
[0068]
变分身体形状自编码器可以表示各种身体形状,包括脸部形状的方差。为了附加支持复杂的面部表情(与仅仅人体测量学的头部和面部静止变化相反),可以可选地引入附加的面部建模。例如,该模型可以从ghs3d中的数千个面部表情运动序列扫描中构建。除了一个3-dof铰接的下巴,两个2-dof眼睑和两个2-dof眼球之外,还可以和流水线的其余部分一起更新头部上铰接的关节的参数,包括蒙皮权重和姿势空间变形。
[0069]
对于由于表情而不是关节活动引起的面部运动,可以在与变分身体形状自编码器相同的网络结构中建立非线性嵌入βf。通过移除所有铰接的关节运动(包括颈部、头部、眼睛和下巴),对vae的输入可以是中性头部姿势下的面部表情(对于ghum vf=1,932并且对于ghuml是585)。在一些实现方式中,为了将配准的头部网格解除姿势到中性,可以尽量拟合(4)与配准匹配的中性头部形状(无表情)的铰接的关节运动θ。在面部表情中考虑设定姿势的头部和配准之间的位移场,并且在比较之前可以消除(解除姿势)铰接的关节θ的影响。
[0070]
3.3示例蒙皮模型
[0071]
在应用非线性形状和面部表情模型之后,可以从多受试者和多姿势网格数据中统计地估计最佳蒙皮函数。具体地,可以使用与(4)中相同的日期项,但是现在优化变量可以是关节中心估计器c(ψ),的参数,对身体形状d(θ,γ)的姿势相关的校正,和/或蒙皮权重ω。
[0072]
骨架关节中心的一个可能选择是将它们放置在连接受关节影响最大的两个网格组件(分段)的边界顶点的环上的平均值位置。边界顶点的平均值,强制骨架位于网格表面的凸包中,以使中心适配于不同的身体比例。但是,为了获得更好的蒙皮,可以保持估计但是可以在上面建立线性回归器δc:以从身体形状学习关节中心校正
[0073][0074]
在一些实现方式中,不是通过汇集所有网格顶点来全局地学习关节中心,而是可以仅从由关节蒙皮的那些顶点局部地执行估计。这产生显著更少的可训练的参数,从3n
×
3j降低到3n
×
3i,例如,在实践中i=4。也可以通过l1正则化来鼓励稀疏性,以及骨骼方向与模板的对齐。为了避免奇点并防止关节中心移出表面,可以正则化中心校正的幅度
[0075]
在一些实现方式中,为了修复作为复杂软组织变形的结果的蒙皮伪影,可以学习数据驱动的姿势相关校正器(psd)并将其并应用到静止形状。可以估计非线性映射d:然而,网格顶点上的姿势空间校正应该直观地来源于邻近关节。因此,一些示例实现方式可以使用完全连接的relu激活层来提取比输入更加压缩特征向量(例如,32个单元),从中可以线性回归姿势空间变形。
[0076]
作为一个示例,图5示出了示例姿势空间变形架构草图和图示其中示出了psd的益处,在此是在非被动关节活动点周围,例如右臀部和大腿,以及胸部和腋窝。为了简化说明,这里θ用作输入特征,而不是
[0077]
此外,在某些实例下,是稀疏的,并且关节只能对其蒙皮网格补订生成局部变形修正。与smpl的密集线性回归器相比,所提出的网络产生具有明显更少的可训练的参数相似质量的变形。该系统可以将姿势空间变形的幅度正则化为较小,防止通过psd校正过拟合来匹配目标。这可以通过作为简单的l2惩罚来实现,如
[0078][0079]
高频局部psd通常是不期望的,很可能是由于过拟合。因此,可以鼓励平滑的姿势空间变形
[0080][0081]
其中n(i)是顶点i的邻近顶点,并且l
i,j
是基于余切的拉普拉斯权重。
[0082]
即使在psd正则化和可训练权重的减少的数量的情况下,过拟合仍然可能发生。与
仅针对某些区域(身体或手部)特别地建立姿势空间变形的smpl或mano不同,在本公开的一些实现方式中,psd模型是针对整个人类模型构建的,基于高分辨率身体、手部和头部数据特写进行联合训练。因此,身体数据在手部和头部运动上具有有限的变化,而头部和手部数据没有身体其余部位的运动。因此,存在很大的关节活动空间,其中所有关节都可以在不影响损失的情况下移动。这是不期望的。为了防止过拟合,输入姿势特征向量可以被滤波或掩码到4个特征向量,包括头部、身体、左手和右手关节。可以将每个特征向量带入相同的relu层,并且可以在下一个回归器之前对输出求和。因此,一个示例损失如下:
[0083][0084]
这强制掩码区域外的psd变小,从而使网络产生的修正偏向有限的全局影响。然而,从所有相关数据中学习与头部、手部和身体其余部位之间的区域相对应的共享表面区域的变形。
[0085]
在一些实现方式中,为了估计蒙皮权重,在流水线的末端,可以使用线性混合蒙皮层,给定姿势θ和带有面部表情的姿势校正的静止形状层,给定姿势θ和带有面部表情的姿势校正的静止形状输出由可训练蒙皮权重参数ω控制的设定姿势网格(2)。每个蒙皮顶点可以可选地最大程度地受模板中某个数量(例如,i=4)关节的影响。然后,系统可以正则化ω以便接近要在空间上进行平滑的初始的艺术家绘制的值和/或是非负且被归一化的每顶点的蒙皮权重
[0086][0087][0088][0089]
也可以通过添加以下将最终蒙皮的网格x弱正则化为平滑的
[0090][0091]
姿势估计器。给定身体形状估计和当前蒙皮参数,可以在训练集上重新优化姿势θ。为了限制搜索空间、强化一致性并避免不自然的局部最小值,可以利用人体测量骨架可用的解剖学关节角度限制。可以使用具有盒约束的l-bfgs解算器有效地解决该问题,并且梯度由tensorflow的自动微分来评估。
[0092]
4.示例实验
[0093]
本节描述了在本文描述的系统和方法的示例实现方式上进行的示例实验。
[0094]
数据集。除了包含多样身体形状和脸部形状的caesar(4,329个受试者),本文描述的示例实验也使用在60hz操作的多个3dmd系统来捕捉具有55个身体姿势、60个手部姿势和面部表情的40个运动序列的32个受试者(16名女性和16名男性)。受试者具有的bmi范围从17.5到39,高度自152cm到192cm,年龄从22到47。对于所有多姿势数据,基于包含通常不在训练集中的姿势的自由式运动序列,我们使用3个受试者进行评估,以及4个受试者用于测试。每个面部捕捉序列从中性面部开始到指定面部表情,并且每个序列持续大约2s。
[0095]
来自数据的配准样本如图6所示。具体来说,图6示出了来自caesar(左上)以及ghs3d的数据的样本配准。注意配准的质量,其捕捉了面部细节和作为关节活动的结果的其他身体部位的软组织变形。
[0096]
配准。表1报告了使用icp和(扩展的)倒角(chamfer)距离对点云的配准。将icp误差测量为到最近的配准网格面的点与平面的距离,而将倒角估计为双向点到点。
[0097]
表1:ghum和ghuml在caesar和ghs3d上的配准误差(包括面部、手部和身体其他部位的详细信息)。
[0098][0099][0100]
所提出的配准技术具有低误差,并且保留了局部点云细节(图6)。
[0101]
模型评估。全分辨率和低分辨率人类模型(ghum和ghuml)都是使用我们的端到端流水线建立的。两个模型共享相同的一组骨架关节,但具有10168对2852个网格顶点(具有面部表情的1932对585个顶点)。对于这两个模型,示例实验评估了测试数据上网格x至配准x
*
的基于顶点的平均欧几里得距离。在表2中报告了数字并且将其可视化示出在图4、图1和图9中(请参见sup.mat中的手部评估)。我们将两个模型的输出与它们对应拓扑下的配准网格进行比较。这两个模型都可以紧密地表示各种身体形状(例如,被建模为vae),产生自然的面部表情(例如,被表示为面部vae),并且对于各种身体形状和姿势,平滑且自然,而没有可注意到的蒙皮伪影的姿势(例如,由优化的蒙皮参数产生的)。
[0102]
表2:用于配准的基于顶点的平均欧几里得误差(mm)。
[0103][0104]
ghum对ghuml。低分辨率模型保留了身体形状的全局特征,并正确地为身体和面部运动蒙皮。与ghum相比,可以观察到ghuml丢失了嘴唇变形、手臂和手部指处的肌肉凸起以及由于脂肪组织引起的皱纹的一些细节。就性能而言,在前馈评估模式下,ghuml比ghum快2.5
×

[0105]
图4示出了对caesar的评估。图4的左侧示出了ghum和ghuml的配准的每顶点的欧几里德距离误差。图4的右侧从上到下示出了ghum和ghuml的配准。基于vae的模型可以很好地表现身体形状。与ghuml相比,ghum保留了附加的肌肉或腰部软组织细节。
[0106]
图9示出了图1中的评估和渲染,重点是ghum和ghuml的手部重构。类似的结论如图1所示。请注意,相比于ghuml,ghum保留的手掌弯曲区域周围的附加变形细节。
[0107]
vae评估。对于身体形状,所提出的vae支持16-dim和64-dim的隐表示,而前者有1.72
×
较高的重构误差(表2和图中的报告基于64-dim表示)。在某些示例中,20-dim嵌入可
以用于面部表情vae。
[0108]
图7示出了对于vae和pca,作为隐维度的函数的面部表情的重构误差。20维vae的重构误差与使用96线性pca基础类似的重构误差,代价是2.9
×
的更慢的性能。具体而言,图7示出了对vae和pca模型的分析,该分析说明了非线性在低维度领域中的优势。
[0109]
ghum对smpl。在图8中,比较了ghum和smpl的视觉质量。具体地,图8从左到右示出了两个姿势中每一个,ghum和smpl的配准。ghum产生了视觉质量相当的姿势,尽管注意到该运动序列的骨盆伪影较少。
[0110]
ghum与smpl有不同的网格和骨架拓扑,而smpl没有手部和面部关节。为了进行比较,从ghs3d取得捕捉的运动序列(所有姿势,不在我们的训练数据集中),并且捕捉的序列分别与smpl和ghum网格配准。当评估误差时,使用一一对应(one-to-one)的点到平面(point-to-plane)的欧几里德距离(例如,为了避免在配准期间对表面滑动的敏感性),并且仅在身体区域上评估误差,以便与smpl进行公平的比较。来自ghum的平均重构误差为4.4mm,而smpl具有5.37mm的误差,并且观察到ghum的视觉蒙皮质量与smpl相当。
[0111]
来自单目图像的3d姿势和形状重构。本节说明了ghum的图像推理。在这种情况下,模型的运动学先验(用于手部和身体的其他部位,不包括面部)已经用来自human3.6m、cmu和ghs3d的数据进行了训练。图像预测器没有用于姿势和形状。相反,初始化是在6种不同的运动学配置下进行的,并且在解剖学关节角度限制下优化参数α。作为损失,使用骨架关节重投影误差和语义身体部位对齐。结果如图10所示。具体地,图10示出了在语义身体部位对齐损失的情况下,通过依赖于非线性姿势和形状优化,利用ghum的单目3d人类姿势和形状重构。
[0112]
5.示例设备和系统
[0113]
图11a描绘了根据本公开的示例实施例的示例计算系统100的框图。系统100包括通过网络180通信耦合的用户计算设备102、服务器计算系统130和训练计算系统150。
[0114]
用户计算设备102可以是任何类型的计算设备,诸如例如个人计算设备(例如,膝上型或台式)、移动计算设备(例如,智能手机或平板电脑)、游戏控制台或控制器、可穿戴计算设备、嵌入式计算设备,或任何其他类型的计算设备。
[0115]
用户计算设备102包括一个或多个处理器112和存储器114。一个或多个处理器112可以是任何合适的处理设备(例如,处理器内核、微处理器、asic、fpga、控制器、微控制器等)并且可以是一个处理器或可操作地连接的多个处理器。存储器114可以包括一种或多种非暂时性计算机可读存储介质,诸如ram、rom、eeprom、eprom、闪存设备、磁盘等,及其组合。存储器114可以存储数据116和可由处理器112执行的以使用户计算设备102执行操作的指令118。
[0116]
在一些实现方式中,用户计算设备102可以存储或包括一个或多个机器学习模型120。例如,机器学习模型120可以是或者可以以其他方式包括各种机器学习模型,诸如神经网络(例如,深度神经网络)或者其他类型的机器学习模型,包括非线性模型和/或线性模型。神经网络可以包括前馈神经网络、循环神经网络(例如,长短期记忆循环神经网络)、卷积神经网络或其他形式的神经网络。参考图2讨论示例机器学习模型120。
[0117]
在一些实现方式中,可以通过网络180从服务器计算系统130接收一个或多个机器学习模型120,将其存储在用户计算设备存储器114中,然后由一个或多个处理器112使用或
以其他方式实现。在一些实现方式中,用户计算设备102可以实现单个机器学习模型120的多个并行实例。
[0118]
附加地或可选地,可以将一个或多个机器学习模型140包括在根据客户端-服务器关系与用户计算设备102通信的服务器计算系统130中,或者以其他方式由其存储和实现。例如,机器学习模型140可以由服务器计算系统140实现为web服务(例如,身体形状建模和/或渲染服务)的一部分。因此,一个或多个模型120可以在用户计算设备102处存储和实现,和/或一个或多个模型140可以在服务器计算系统130处存储和实现。
[0119]
用户计算设备102还可以包括接收用户输入的一个或多个用户输入组件122。例如,用户输入组件122可以是对用户输入对象(例如,手部指或触笔)的触摸敏感的触敏组件(例如,触敏显示屏或触摸板)。触敏组件可以用来实现虚拟键盘。其他示例用户输入组件包括麦克风、传统键盘或用户可以用来提供用户输入的其他手段。
[0120]
服务器计算系统130包括一个或多个处理器132和存储器134。一个或多个处理器132可以是任何合适的处理设备(例如,处理器内核、微处理器、asic、fpga、控制器、微控制器等)并且可以是一个处理器或可操作地连接的多个处理器。存储器134可以包括一种或多种非暂时性计算机可读存储介质,诸如ram、rom、eeprom、eprom、闪存设备、磁盘等,及其组合。存储器134可以存储数据136和由处理器132执行以使服务器计算系统130执行操作的指令138。
[0121]
在一些实现方式中,服务器计算系统130包括一个或多个服务器计算设备或者由一个或多个服务器计算设备来实现。在服务器计算系统130包括多个服务器计算设备的情况下,这样的服务器计算设备可以根据顺序计算架构、并行计算架构或其一些组合来操作。
[0122]
如上所述,服务器计算系统130可以存储或以其他方式包括一个或多个机器学习模型140。例如,模型140可以是或者可以其他方式包括各种机器学习模型。示例机器学习模型包括神经网络或其他多层非线性模型。示例神经网络包括前馈神经网络、深度神经网络、循环神经网络和卷积神经网络。参考图2讨论示例模型140。
[0123]
用户计算设备102和/或服务器计算系统130可以经由与通过网络180通信耦合的训练计算系统150的交互来训练模型120和/或140。训练计算系统150可以与服务器计算系统130分离,或者可以是服务器计算系统130的一部分。
[0124]
训练计算系统150包括一个或多个处理器152和存储器154。一个或多个处理器152可以是任何合适的处理设备(例如,处理器内核、微处理器、asic、fpga、控制器、微控制器等)并且可以是一个处理器或可操作地连接的多个处理器。存储器154可以包括一种或多种非暂时性计算机可读存储介质,诸如ram、rom、eeprom、eprom、闪存设备、磁盘等,及其组合。存储器154可以存储数据156和由处理器152执行以使训练计算系统150执行操作的指令158。在一些实现方式中,训练计算系统150包括一个或多个服务器计算设备或者由一个或多个服务器计算设备实现。
[0125]
训练计算系统150可以包括模型训练器160,其使用各种训练或学习技术,诸如例如误差反向传播,来训练存储在用户计算设备102和/或服务器计算系统130处的机器学习模型120和/或140。例如,损失函数可以通过(多个)模型反向传播,以更新该(多个)模型的一个或多个参数(例如,基于损失函数的梯度)。可以使用各种损失函数,诸如均方误差、似然损失、交叉熵损失、铰链损失,和/或各种其他损失函数。梯度下降技术可用于在多次训练
迭代中迭代地更新参数。
[0126]
在一些实现方式中,执行误差的反向传播可以包括随时间执行截短的反向传播。模型训练器160可以执行多种泛化技术(例如,权重衰减、丢弃(dropout)等)来提高被训练的模型的泛化能力。
[0127]
具体地,模型训练器160可以基于一组训练数据162来训练机器学习模型120和/或140。训练数据162可以包括例如全身、手部和/或面部扫描和/或这些扫描的真值配准。
[0128]
在一些实现方式中,如果用户已经提供了同意,则训练示例可以由用户计算设备102提供。因此,在这样的实现方式中,提供给用户计算设备102的模型120可以由训练计算系统150根据从用户计算设备102接收的用户特定的数据来训练。在一些情况下,这个过程可以被称为对模型进行个性化。
[0129]
模型训练器160包括用于提供所需功能的计算机逻辑。模型训练器160可以用控制通用处理器的硬件、固件和/或软件来实现。例如,在一些实现方式中,模型训练器160包括存储在存储设备上、加载到存储器中并由一个或多个处理器执行的程序文件。在其他实现方式中,模型训练器160包括一组或多组计算机可执行指令,这些指令存储在有形的计算机可读存储介质中,诸如ram硬盘或光学或磁性介质。
[0130]
网络180可以是任何类型的通信网络,诸如局域网(例如,内联网)、广域网(例如,互联网)或其一些组合,并且可以包括任何数量的有线或无线链路。一般而言,网络180上的通信可以使用各种通信协议(例如,tcp/ip、http、smtp、ftp)、编码或格式(例如,html、xml)和/或保护方案(例如,vpn、安全http、ssl),经由任何类型的有线和/或无线连接来承载。
[0131]
图11a图示出了可用于实现本公开的一个示例计算系统。也可以使用其他计算系统。例如,在一些实现方式中,用户计算设备102可以包括模型训练器160和训练数据集162。在这样的实现方式中,模型120可以在用户计算设备102处本地训练和使用。在一些这样的实现方式中,用户计算设备102可以实现模型训练器160来基于用户特定的数据对模型120进行个性化。
[0132]
图11b描绘了根据本公开的示例实施例执行的示例计算设备10的框图。计算设备10可以是用户计算设备或服务器计算设备。
[0133]
计算设备10包括多个应用(例如,应用1至n)。每个应用都包含自己的机器学习库和机器学习模型。例如,每个应用可以包括机器学习模型。示例应用包括文本消息应用、电子邮件应用、听写应用、虚拟键盘应用、浏览器应用等。
[0134]
如图11b所图示,每个应用可以与计算设备的多个其他组件通信,诸如例如一个或多个传感器、上下文管理器、设备状态组件和/或附加组件。在一些实现方式中,每个应用可以使用api(例如,公共api)与每个设备组件通信。在一些实现方式中,每个应用使用的api是特定于该应用的。
[0135]
图11c描绘了根据本公开的示例实施例执行的示例计算设备50的框图。计算设备50可以是用户计算设备或服务器计算设备。
[0136]
计算设备50包括多个应用(例如,应用1至n)。每个应用都与中央智能层通信。示例应用包括文本消息应用、电子邮件应用、听写应用、虚拟键盘应用、浏览器应用等。在一些实现方式中,每个应用可以使用api(例如,跨所有应用的公用api)与中央智能层(以及存储在其中的(多个)模型)通信。
[0137]
中央智能层包括许多机器学习模型。例如,如图11c所图示的,可以为每个应用提供相应的机器学习模型(例如,模型),并由中央智能层管理。在其他实现方式中,两个或更多应用可以共享单个机器学习模型。例如,在一些实现方式中,中央智能层可以为所有应用提供单个模型(例如,单个模型)。在一些实现方式中,将中央智能层包括在计算设备50的操作系统中,或者由计算设备50的操作系统来实现。
[0138]
中央智能层可以与中央设备数据层通信。中央设备数据层可以是计算设备50的集中式数据仓库。如图11c所图示的,中央设备数据层可以与计算设备的多个其他组件通信,诸如例如一个或多个传感器、上下文管理器、设备状态组件和/或附加组件。在一些实现方式中,中央设备数据层可以使用api(例如,私有api)与每个设备组件通信。
[0139]
6.附加的公开
[0140]
这里讨论的技术涉及服务器、数据库、软件应用和其他基于计算机的系统,以及所采取的行动和发送到这些系统和从这些系统接收的信息。基于计算机的系统的固有灵活性允许在组件之间对任务和功能进行多种可能的配置、组合和划分。例如,这里讨论的过程可以使用单个设备或组件或者组合工作的多个设备或组件来实现。数据库和应用可以在单个系统上实现,也可以分布在多个系统上。分布式组件可以顺序或并行操作。
[0141]
虽然已经关于其各种具体示例实施例对本主题进行了详细描述,但是每个示例都是以解释的方式提供的,而不是对本公开的限制。本领域的技术人员在理解了前述内容之后,可以容易地对这些实施例产生变更、变型和等效。相应地,本主题公开不排除对于本领域普通技术人员来说是明显的对本主题的这种修改、变化和/或添加。例如,作为一个实施例的一部分说明或描述的特征可以与另一个实施例一起使用,以产生又一个实施例。因此,本公开旨在覆盖这些变更、变化和等同物。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献