光学运动捕捉数据处理方法、模型训练方法及装置与流程

文档序号:27553795发布日期:2021-11-24 23:33阅读:365来源:国知局
光学运动捕捉数据处理方法、模型训练方法及装置与流程

1.本发明涉及计算机技术领域,尤其是涉及一种光学运动捕捉数据处理 方法、模型训练方法及装置。


背景技术:

2.运动捕捉(motion capture),简称动捕(mocap),指的是将真实演员 的肢体动作转换为三维虚拟角色骨骼动画的技术。相比于传统的关键帧动 画制作方式,运动捕捉技术有着巨大的优势,既提升了三维动作资源的真 实度,又提升了其生产效率,也因此成为了当前影视、游戏行业三维人形 动画的标准制作方式。
3.从技术原理上划分,运动捕捉设备可以分成两种类型,惯性动捕设备 和光学动捕设备。其中惯性动捕设备利用固定在演员关节上的加速度传感 器来获取演员各个关节的相对运动量;而光学动捕设备则通过大量不同视 角的高速相机同步拍摄演员动作,并利用多视角三维重建技术计算贴在演 员身上的一批特殊标记点(marker)的三维坐标,之后再基于这些坐标解算 出演员每个关节点的位置和旋转信息。惯性动捕设备成本较低,但是由于 受到当前惯性传感器设备的精度限制,其动作捕捉的精度也明显低于光学 动捕设备。此外,由于惯性动捕设备记录的是每个关节相对于上一时刻的 相对值,无法获取演员在三维空间中的绝对坐标,这一特性导致惯性动捕 设备无法应用于多人同时动捕的场景,因为其无法定位不同演员之间的相 对位置关系。由于以上原因,虽然光学动捕设备成本高昂,但却在运动捕 捉领域占据绝对统治地位。
4.目前业界对光学动捕数据的清洗和解算主要依赖vicon blade、viconshogun、autodesk motionbuilder等商业软件提供内置工具,其特点为高度依 赖人工对动捕标记点数据中的错误进行修正,否则解算出的骨骼动画数据 会存在明显的缺陷。典型的处理流程为,先对原标记点位置帧序列进行自 动解算得到存在缺陷的骨骼动画,人工对得到对动画进行逐帧预览,寻找 存在问题的区间,然后人工纠正该区间内导致解算结果异常的标记点。不 断重复这一过程,直到整个动捕动作序列都能被正确解算。


技术实现要素:

5.本发明的目的在于提供一种光学运动捕捉数据处理方法、模型训练方 法及装置,以缓解了现有技术中存在的光学运动捕捉数据处理效率低的技 术问题。
6.第一方面,本发明提供了一种光学运动捕捉数据处理方法。包括:
7.获取第一标记点位置帧序列,每个标记点位置帧序列包括多个标记点, 一个所述标记点用于标记一个或多个关节位置;
8.基于目标预测模型以及所述第一标记点位置帧序列,预测得到低维度 的预测数据;
9.基于目标解码模型以及所述预测数据,解码得到目标骨骼动画数据。
10.在可选的实现中,所述预测数据包括标记点配置预测以及骨骼动画预 测,所述目
标解码模型包括对应于标记点配置的第一解码模型和对应于骨 骼动画的第二解码模型,所述目标预测模型包括对应于标记点配置的第一 预测模型和对应于骨骼动画的第二预测模型;所述基于目标预测模型以及 所述第一标记点位置帧序列,预测得到低维度的预测数据,包括:
11.基于第一预测模型以及所述第一标记点位置帧序列,预测得到标记点 配置预测;
12.基于第二预测模型以及所述第一标记点位置帧序列,预测得到骨骼动 画预测。
13.在可选的实现中,所述基于目标解码模型以及所述预测数据,解码得 到目标骨骼动画数据,包括:
14.基所述第一解码模型以及所述标记点配置预测,解码得到第一标记点 配置数据;
15.基于所述第二解码模型、骨骼动画预测、所述标记点配置预测以及所 述第一标记点配置数据,解码得到目标骨骼动画数据。
16.在可选的实现中,所述第一解码模型包括依次连接的第一上池化层、 第一激活层以及第一卷积层;所述第二解码模型包括依次连接的第二上池 化层、第二卷积层、第二激活层、第三上池化层、以及第三卷积层;所述 基于所述第一解码模型、骨骼动画预测、所述标记点配置预测以及所述第 一标记点配置数据,解码得到目标骨骼动画数据,包括:
17.基于所述第二上池化层以及所述骨骼动画预测,进行处理得到第一中 间数据;
18.基于所述第二卷积层、第二激活层、第三上池化层、第一中间数据以 及所述标记点配置预测,进行处理得第二中间数据;
19.基于所述第三卷积层、第二中间数据以及所述第一标记点配置数据, 解码得到目标骨骼动画数据。
20.在可选的实现中,所述预测数据还包括模板骨骼预测,所述目标预测 模型还包括对应于模板骨骼的第三预测模型,所述方法还包括:
21.基于第三预测模型以及所述第一标记点位置帧序列,预测得到模板骨 骼预测;
22.基于目标解码模型、所述模板骨骼预测以及标记点配置预测,解码得 到目标模板骨骼和目标标记点配置;
23.基于所述目标骨骼动画数据、所述目标模板骨骼和所述目标标记点配 置通过蒙皮运算得到清洗后的第二标记点位置帧序列。
24.在可选的实现中,还包括:
25.获取第三标记点位置帧序列,所述多个标记点中包括多个关键标记点;
26.基于预先训练的关键点评价网络以及所述第三标记点位置帧序列,对 所述第三标记点位置帧序列中每个第三标记点位置帧中的所述关键标记点 的可靠性进行评价;
27.基于可靠性高的第三标记点位置帧对应的多个关键标记点的位置,对 每个所述第三标记点位置帧分别进行刚体对齐,得到所述第一标记点位置 帧序列。
28.在可选的实现中,所述预先训练的关键点评价网络包括依次连接的第 一全连接层、第三激活层、多个残差网络、第四激活层以及第二全连接层; 所述基于预先训练的关键点评价网络以及所述第三标记点位置帧序列,对 所述第三标记点位置帧序列中每个第三标记点位置帧中的所述关键标记点 的可靠性进行评价,包括:
29.所述基于预先训练的关键点评价网络以及所述第三标记点位置帧序 列,输出每个第三标记点位置帧中每个标记点的距离变化值;
30.基于所述每个第三标记点位置帧对应的多个标记点的距离变化值对每 个所述第三标记点位置帧中的所述关键标记点的可靠性进行评价。
31.第二方面,提供了一种光学运动捕捉网络训练方法。所述光学运动捕 捉网络包括解码模型、编码模型以及预测模型,包括:
32.确定训练数据,所述训练数据包括原始标记点位置帧样本、模板骨骼 样本、标记点配置样本以及动画数据样本;
33.基于所述训练数据对初始光学运动捕捉网络进行训练,得到目标光学 运动捕捉网络;
34.其中,所述预测模型用于根据原始标记点位置帧样本,预测得到低维 度的预测数据;所述解码模型用于根据所述预测数据,解码得到骨骼动画 数据。
35.在可选的实现中,所述确定训练数据,包括:
36.生成不同体型下的人体模型;
37.基于所述人体模型确定模板骨骼样本以及标记点配置样本;
38.将动画数据样本重定向到所述人体模型上,驱动所述人体模型进行运 动,并在运动过程中记录所述人体模型表面标记点的位置得到干净的标记 点;
39.针对所述干净的标记点增加噪声得到原始标记点位置帧样本。
40.第三方面,提供了一种光学运动捕捉数据处理装置。包括:
41.获取模块,用于获取第一标记点位置帧序列,每个标记点位置帧序列 包括多个标记点,一个所述标记点用于标记一个或多个关节位置;
42.预测模块,用于基于目标预测模型以及所述第一标记点位置帧序列, 预测得到低维度的预测数据;
43.解码模块,用于基于目标解码模型以及所述预测数据,解码得到目标 骨骼动画数据。
44.在可选的实现中,所述预测数据包括标记点配置预测以及骨骼动画预 测,所述目标解码模型包括对应于标记点配置的第一解码模型和对应于骨 骼动画的第二解码模型,所述目标预测模型包括对应于标记点配置的第一 预测模型和对应于骨骼动画的第二预测模型;所述预测模块具体用于:
45.基于第一预测模型以及所述第一标记点位置帧序列,预测得到标记点 配置预测;
46.基于第二预测模型以及所述第一标记点位置帧序列,预测得到骨骼动 画预测。
47.在可选的实现中,所述解码模块具体用于:
48.基所述第一解码模型以及所述标记点配置预测,解码得到第一标记点 配置数据;
49.基于所述第二解码模型、骨骼动画预测、所述标记点配置预测以及所 述第一标记点配置数据,解码得到目标骨骼动画数据。
50.在可选的实现中,所述第一解码模型包括依次连接的第一上池化层、 第一激活层以及第一卷积层;所述第二解码模型包括依次连接的第二上池 化层、第二卷积层、第二激活层、第三上池化层、以及第三卷积层;所述 解码模块具体用于:
51.基于所述第二上池化层以及所述骨骼动画预测,进行处理得到第一中 间数据;
52.基于所述第二卷积层、第二激活层、第三上池化层、第一中间数据以 及所述标记点配置预测,进行处理得第二中间数据;
53.基于所述第三卷积层、第二中间数据以及所述第一标记点配置数据, 解码得到目标骨骼动画数据。
54.在可选的实现中,所述预测数据还包括模板骨骼预测,所述目标预测 模型还包括对应于模板骨骼的第三预测模型,所述预测模块还用于,基于 第三预测模型以及所述第一标记点位置帧序列,预测得到模板骨骼预测;
55.解码模块还用于,基于目标解码模型、所述模板骨骼预测以及标记点 配置预测,解码得到目标模板骨骼和目标标记点配置;
56.蒙皮模块,用于基于所述目标骨骼动画数据、所述目标模板骨骼和所 述目标标记点配置通过蒙皮运算得到清洗后的第二标记点位置帧序列。
57.在可选的实现中,还包括对齐模块,用于:
58.获取第三标记点位置帧序列,所述多个标记点中包括多个关键标记点;
59.基于预先训练的关键点评价网络以及所述第三标记点位置帧序列,对 所述第三标记点位置帧序列中每个第三标记点位置帧中的所述关键标记点 的可靠性进行评价;
60.基于可靠性高的第三标记点位置帧对应的多个关键标记点的位置,对 每个所述第三标记点位置帧分别进行刚体对齐,得到所述第一标记点位置 帧序列。
61.在可选的实现中,所述预先训练的关键点评价网络包括依次连接的第 一全连接层、第三激活层、多个残差网络、第四激活层以及第二全连接层; 所述对齐模块还用于:
62.基于预先训练的关键点评价网络以及所述第三标记点位置帧序列,输 出每个第三标记点位置帧中每个标记点的距离变化值;
63.基于所述每个第三标记点位置帧对应的多个标记点的距离变化值对每 个所述第三标记点位置帧中的所述关键标记点的可靠性进行评价。
64.第四方面,提供了一种光学运动捕捉网络训练装置。所述光学运动捕 捉网络包括编码模型以及预测模型,包括:
65.确定模块,用于确定训练数据,所述训练数据包括原始标记点位置帧 样本、模板骨骼样本、标记点配置样本以及动画数据样本;
66.训练模块,用于基于所述训练数据对初始光学运动捕捉网络进行训练, 得到目标光学运动捕捉网络;
67.其中,所述预测模型用于根据原始标记点位置帧样本,预测得到低维 度的预测数据;所述解码模型用于根据所述预测数据,解码得到骨骼动画 数据。
68.在可选的实现中,所述确定模块具体用于:
69.生成不同体型下的人体模型;
70.基于所述人体模型确定模板骨骼样本以及标记点配置样本;
71.将动画数据样本重定向到所述人体模型上,驱动所述人体模型进行运 动,并在运动过程中记录所述人体模型表面标记点的位置得到干净的标记 点;
72.针对所述干净的标记点增加噪声得到原始标记点位置帧样本。
73.第五方面,本发明提供一种电子设备,包括:处理装置以及存储装置;
74.所述存储装置上存储有计算机程序,所述计算机程序在被所述处理器 运行时执行如前述实施方式任一项所述的方法,以用于相机标定和/或基于 二分类模型的数据处理。
75.第六方面,本发明提供一种计算机可读存储介质,所述计算机可读存 储介质上存储有计算机程序,所述计算机程序被处理器运行时执行上述前 述实施方式任一项所述的方法的步骤。
76.本发明提供了一种光学运动捕捉数据处理方法及装置。通过获取第一 标记点位置帧序列,每个标记点位置帧序列包括多个标记点,一个所述标 记点用于标记一个或多个关节位置;基于目标预测模型以及所述第一标记 点位置帧序列,预测得到低维度的预测数据,所述第一维度大于所述第二 维度;基于目标解码模型以及所述预测数据,解码得到目标骨骼动画数据。 可以直接从包含错误和噪音的标记点位置帧序列中预测出与之对应的干净 的骨骼动画数据,提升了数据处理的效率。
附图说明
77.为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下 面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍, 显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普 通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获 得其他的附图。
78.图1为本发明提供了一种光学运动捕捉数据处理方法流程示意图;
79.图2为本发明实施例提供的一种光学运动捕捉网络结构示意图;
80.图3为本发明实施例提供的另一种光学运动捕捉网络结构示意图;
81.图4为本发明实施例提供的另一种光学运动捕捉网络结构示意图;
82.图5为本发明实施例提供的另一种光学运动捕捉网络结构示意图;
83.图6为本发明实施例提供的一种关键点评价网络结构示意图;
84.图7为本发明实施例提供的一种光学运动捕捉网络训练方法流程示意 图;
85.图8为本发明实施例提供的一种光学运动捕捉网络训练架构的一个示 例;
86.图9为本发明实施例提供的一种光学运动捕捉网络训练架构的另一个 示例;
87.图10为本发明实施例提供的一种光学运动捕捉网络训练架构的另一个 示例;
88.图11为本发明实施例提供了一种光学运动捕捉数据处理装置结构示意 图;
89.图12为本发明实施例提供的一种光学运动捕捉网络训练装置结构示意 图;
90.图13为本技术实施例提供的一种计算机设备结构示意图。
具体实施方式
91.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本 发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描 述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。 通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配 置来布置和设计。
92.因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限 制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本 发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获 得的所有其他实施例,都属于本发明保护的范围。
93.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一 旦某一项在
一个附图中被定义,则在随后的附图中不需要对其进行进一步 定义和解释。
94.需要说明的是,利用光学动捕设备进行动捕的流程分为以下几个过程:
95.演员装扮:演员穿着紧身动捕服装,并在衣服表面需要捕捉的关节附 近粘贴一定数量的标记点(marker),标记点总数以及每个标记点粘贴的位 置构成一套标记点配置(marker configuration)。
96.演员标定:构建一个与演员体型相适配的人形模版模型,并获取粘贴 在真实演员衣服上的每个标记点在该人形模版模型上的位置,模版模型的 骨架结构叫模板骨架(template skeleton)。构建方式一般为捕捉一小段该演 员的简单动作,然后用算法自动去拟合模版模型和标记点位置,这个过程 也叫运动范围(range of motion,rom)标定。
97.动作捕捉:演员在被一圈高速红外相机围绕的动捕场景内按照剧本表 演出规定的动作,所有相机同步进行拍摄,然后动捕软件利用多视角几何 和目标跟踪算法,计算出每一个时刻演员身上每个标记点在三维空间中的 坐标。
98.动捕数据清洗:由于遮挡、传感器测量误差、重建和跟踪算法本身的 误差等原因,上一步动捕软件输出的标记点坐标中往往存在很多错误,需 要人工对这些错误进行修复,这个步骤也叫动捕数据清洗。清洗过程需要 耗费大量人力,因此该步骤也是传统光学动捕流程中成本最高的部分。
99.动捕解算:利用动捕解算软件、演员标定信息,从捕捉到的标记点位 置帧序列中恢复人体各个骨骼关节的位置和旋转信息,从而得到三维骨骼 动画数据(也叫skeletal motion或简称motion)。不经过人工清洗的标记点 数据(raw markers)还可以称为原始标记点位置帧序列或者带噪音的标记 点位置帧序列、经过人工清洗的标记点数据(clean markers)还可以称为干 净的标记点位置帧序列或者清洗后的标记点位置帧序列。
100.动作重定向:将解算得到的骨骼动画数据重定向到不同体型的三维虚 拟角色上,变成对应角色的动画资源。
101.本发明实施例主要针对的是光学动捕流程中的数据清洗和解算环节。 本发明提出了一种针对光学动捕数据自动清洗和解算方法,可以直接从包 含错误和噪音的标记点位置帧序列中预测出与之对应的干净的标记点位置 帧序列和/或骨骼动画数据。
102.下面结合附图,对本发明的一些实施方式作详细说明。在不冲突的情 况下,下述的实施例及实施例中的特征可以相互组合。
103.图1为本发明提供了一种光学运动捕捉数据处理方法流程示意图。如 图1所示,该方法可以包括如下步骤:
104.s110,获取第一标记点位置帧序列。其中,标记点位置帧序列可以包 括一个或多个标记点位置帧,每个标记点位置帧可以包括多个标记点,一 个标记点用于标记一个或多个关节位置。
105.该第一标记点位置帧序列可以为经过动作捕捉得到的未清洗和解算的 标记点位置帧序列,也就是包含噪音的标记点位置帧序列。该第一标记点 位置帧序列可以包括多个,每一个第一标记点位置帧序列还可以称为一帧 第一标记点位置帧序列,连续的多帧第一标记点位置帧序列可以用于描述 一个动作中标记点的位置变化。
106.该一个标记点用于标记一个或多个关节位置,该关系可以通过标记点 配置来确定。
107.s120,基于目标预测模型以及第一标记点位置帧序列,预测得到低维 度的预测数据。
108.其中,该标记点位置帧序列可以为第一维度,该预测数据可以为第二 维度,该第二维度可以为相对于第一维度的低维空间。
109.如图2所示,该预测数据可以包括标记点配置预测以及骨骼动画预测, 目标预测模型包括对应于标记点配置的第一预测模型和对应于骨骼动画的 第二预测模型;基于此,该方法可以基于第一预测模型以及第一标记点位 置帧序列,预测得到标记点配置预测;基于第二预测模型以及第一标记点 位置帧序列,预测得到骨骼动画预测。
110.s130,基于目标解码模型以及预测数据,解码得到目标骨骼动画数据。
111.如图2所示,该目标解码模型包括对应于标记点配置的第一解码模型 和对应于骨骼动画的第二解码模型。可以基第一解码模型以及标记点配置 预测,解码得到第一标记点配置数据;基于第二解码模型、骨骼动画预测、 标记点配置预测以及第一标记点配置数据,解码得到目标骨骼动画数据。
112.在一些实施例中,如图3所示,该第一解码模型包括依次连接的第一 上池化层、第一激活层以及第一卷积层;第二解码模型包括依次连接的第 二上池化层、第二卷积层、第二激活层、第三上池化层、以及第三卷积层; 该方法可以包括:基于第二上池化层以及骨骼动画预测,进行处理得到第 一中间数据;基于第二卷积层、第二激活层、第三上池化层、第一中间数 据以及标记点配置预测,进行处理得第二中间数据;基于第三卷积层、第 二中间数据以及第一标记点配置数据,解码得到目标骨骼动画数据。
113.在一个实施例中,该第一上池化层可以为“unpool”层,还可以称为
ꢀ“
skeletal unpooling”,该第一激活层可以为“lerelu”层,该第一卷积层可 以为“conv.”层,还可以称为“skeletal convolution”。该第二上池化层以为
ꢀ“
unpool”层,该第二卷积层可以为“conv.”层,该第二激活层可以为“lerelu
”ꢀ
层,该第三上池化层可以为“unpool”层,该第三卷积层可以为“conv.
”ꢀ
层。
114.在一些实施例中,如图4所示,该预测数据还可以包括模板骨骼预测, 目标预测模型还包括对应于模板骨骼的第三预测模型,该方法还可以包括:
115.步骤1),基于第三预测模型以及第一标记点位置帧序列,预测得到模 板骨骼预测;
116.步骤2),基于目标解码模型、模板骨骼预测以及标记点配置预测,解 码得到目标模板骨骼;
117.步骤3),基于目标骨骼动画数据、目标模板骨骼和第一标记点配置通 过蒙皮运算得到清洗后的第二标记点位置帧序列。
118.如图5所示,该第三解码模块包括依次连接的第二全连接层,第五激 活层、残差网络、第三全连接层、第六激活层、残差网络、第七激活层以 及第四全连接层。其中,将模板骨骼预测以及标记点配置预测作为第二全 连接层的输入,依次经过第二全连接层、第五激活层以及残差网络,输出 中间结果,再将该中间结果与第一标记点配置数据输入到第三全连接层, 依次经过第三全连接层、第六激活层、残差网络、第七激活层以及第四全 连接层,输出目标模板骨骼数据。
119.在一个实施例中,该第二全连接层、第三全连接层以及第四全连接层 可以为

dense”层,第五激活层、第六激活层以及第七激活层可以为“relu
”ꢀ
层、残差网络可以为“res.”层。
120.在一些实施例中,该方法还包括:
121.步骤a),获取第一维度的多个第三标记点位置帧序列,多个标记点中 包括多个关键标记点;
122.步骤b),基于预先训练的关键点评价网络以及所述第三标记点位置帧 序列,对所述第三标记点位置帧序列中每个第三标记点位置帧中的所述关 键标记点的可靠性进行评价;
123.步骤c),基于可靠性高的第三标记点位置帧对应的多个关键标记点的 位置,对每个所述第三标记点位置帧分别进行刚体对齐,得到所述第一标 记点位置帧序列。
124.由于真实运动包含很多人物根骨骼的全局位移和全局旋转,这极大增 加了后续人工神经网络学习的复杂度。例如,同样的动作在不同的位置、 朝着不同的方向做,会导致捕捉的标记点三维坐标存在巨大差距。此外, 由于遮挡原因,真实动补数据中包含很多跟踪失败的点,其表现为保持在 最后一次被成功跟踪的位置不动,随着人物远离该位置,这些点就会变成 毫无规律的离群点,也会给后续网络的学习造成干扰。所以在将采集到的 数据输入到目标预测模型以及目标解码模型之前,可以进行数据规范化。 该数据规范化的目标可以为对离群标记点进行处理和将坐标系规范化。
125.为了处理离群标记点,可以提取标记点位置帧序列中每一帧所有标记 点之间的距离矩阵,该矩阵可以记录所有离群标记点两两之间的欧式距离。 然后,选择距离矩阵最接近所有帧的距离矩阵平均值的那一帧作为序列的 参考帧。
126.将每一帧与参考帧的距离矩阵进行对比,将所有导致该帧的距离矩阵 与参考帧的距离矩阵存在30厘米以上差异的标记点标记为离群标记点。
127.将离群标记点的坐标替换成新的位置,该新的位置可以使对应帧的距 离矩阵与参考帧的尽量接近。这些新的位置可以通过数学优化方法得到。
128.对于坐标系规范化,目的是消除根骨骼全局平移和旋转。
129.可以将标记点的坐标由世界坐标系转换到局部坐标系。为此,可以以 躯干附近(环绕胸部和腹部的两圈)的一批标记点为关键标记点,然后对 序列整体的全局平移和旋转进行修正。作为一个示例,可以在序列中选定 一个参考帧,计算一个刚体变换使得参考帧的这批关键标记点的位置与 t

pose下的关键标记点的位置尽量对齐(也叫刚体对齐)。通过这个操作, 序列中所有帧的坐标系就由世界坐标系变换到了由t

pose定义的局部坐标 系。
130.这个操作高度依赖参考帧中的那批参考标记点的质量,一旦参考帧的 参考标记点中存在噪音和错误,坐标系规范化的效果就会大打折扣,整套 算法的精度和鲁棒性都会大幅降低。
131.为了解决这个问题,本发明训练了一个对参考标记点的质量进行评估 的深度人工神经网络,该网络可以称为关键点评价网络,并利用这个关键 点评价网络挑选参考标记点可靠性高的帧做参考帧进行刚体对齐。
132.例如,如图6所示,该预先训练的关键点评价网络包括依次连接的第 一全连接层、第三激活层、多个残差网络、第四激活层以及第二全连接层; 基于此,上述步骤b)具体可以
通过如下步骤实现:基于预先训练的关键点 评价网络以及所述第三标记点位置帧序列,输出每个第三标记点位置帧中 每个标记点的距离变化值;基于所述每个第三标记点位置帧对应的多个标 记点的距离变化值对每个所述第三标记点位置帧中的所述关键标记点的可 靠性进行评价。
133.该第一全连接层、第二全连接层可以为“dense”层,该第三激活层、 第四激活层可以为“lerelu”层,该多个残差网络可以为四个,该残差网络 可以为“res.”网络。
134.其中,该网络的输入可以为“raw markers”,输出为参考关键点的可靠 性分数组成的向量。
135.该可靠性分数p
i
可以根据如下公式(一)确定:
[0136][0137]
其中,d
i
为第i个参考关键点在“raw markers”中和“clean markers”中 的距离变化值。
[0138]
该关键点评价网络可以以交叉熵损失函数进行训练,该关键点评价网 络可以预测每一帧“raw markers”中每个参考标记点的可靠度评分,如果 某一帧的所有参考标记点的评分都大于0.8,则认为该帧是可靠的。参考帧 在可靠的帧中产生,有效避免了算法精度过渡依赖少量参考标记点质量的 问题,大幅提升了算法的鲁棒性。
[0139]
图7为本发明实施例提供的一种光学运动捕捉网络训练方法流程示意 图。如图7所示,该光学运动捕捉网络包括编码模型以及预测模型,该方 法可以包括:
[0140]
s710,确定训练数据,训练数据包括原始标记点位置帧样本、模板骨 骼样本、标记点配置样本以及动画数据样本;
[0141]
训练阶段包含三个重点步骤:数据准备、数据规范化(normalization), 以及深度人工神经网络结构搭建和训练。
[0142]
在一些实施例中,每个演员的运动捕捉可以涉及以下数据:
[0143]
模板骨骼(template skeleton):与演员骨骼长度对应的人形模板骨骼, 维度为j
×
3,其中,j为骨骼点的数量,每个骨骼点需要记录其在三维空间中 相对父节点的偏移量。
[0144]
标记点配置(marker configuration):演员动捕服上每个标记点相对于 对应骨骼点的偏移量,一个演员可能有多套不同的标记点配置,因为每次 演员装扮时粘贴的位置会有区别,维度为n
×
j
×
3,n为标记点的数量,每个 标记点需要记录其相对每个骨骼点在三维空间的便宜量;
[0145]
原始的标记点位置帧序列(raw markers,第三标记点位置帧序列): 每个动作被光学动捕设备采集到的原始标记点位置帧序列的维度为 t
×
n
×
3,记录了n个标记点在三维空间中的位置,t为该动作包含的帧数。
[0146]
清洗后的标记点位置帧序列(clean markers,第二标记点位置帧序列 或干净标记点位置帧序列):每个动作被清洗后的标记点序列,维度与原始 的标记点位置帧序列一致。
[0147]
骨骼动画(motion):每个动作的捕捉结果,也就是从清洗后的标记点 位置帧序列中解算出来的骨骼动画,维度为t
×
(j
×
4+3),记录了每一帧 每个骨骼点相对于父骨骼点
的局部旋转(四元数表示),以及根骨骼点在世 界空间的全局平移。
[0148]
在一些实施例中,上述数据可以直接从实际动捕中获取。还可以是通 过数据仿真算法来批量生成上述数据。例如,可以生成不同体型下的人体 模型;基于人体模型确定模板骨骼样本以及标记点配置样本;将动画数据 样本重定向到人体模型上,驱动人体模型进行运动,并在运动过程中记录 人体模型表面标记点的位置得到干净的标记点;针对干净的标记点增加噪 声得到原始标记点位置帧样本。
[0149]
作为一个示例,可以利用参数化人体模型smpl生成不同体型下的人 体mesh模型,并在mesh模型表面的特定位置选择一批点,即可仿真出不 同的template skeleton和不同marker configuration。
[0150]
将已有人形骨骼动画数据(motion)重定向到smpl的骨骼上,即可 以驱动所有smpl形状参数空间内的mesh模型进行对应的运动,在运动过 程中记录mesh模型表面标记点的位置即可以仿真出对应动画的cleanmarkers。
[0151]
在每一段动画的clean markers上随机选择一些点增加一定幅度的高斯 噪音,同时随机选择一些点让其留在原地、不跟随后续动作一起运动(模 拟真实动补时被遮挡的标记点),即可仿真出每一段动画对应的rawmarkers。
[0152]
由于真实运动包含很多人物根骨骼的全局位移和全局旋转,这极大增 加了后续人工神经网络学习的复杂度。例如,同样的动作在不同的位置、 朝着不同的方向做,会导致捕捉的标记点三维坐标存在巨大差距。此外, 由于遮挡原因,真实动补数据中包含很多跟踪失败的点,其表现为保持在 最后一次被成功跟踪的位置不动,随着人物远离该位置,这些点就会变成 毫无规律的离群点,也会给后续网络的学习造成干扰。所以数据规范化的 目标有两个:离群marker的处理和坐标系规范化。
[0153]
具体方法可以参见上述方法实施例中的相关描述此处不再赘述。
[0154]
s720,基于训练数据对初始光学运动捕捉网络进行训练,得到目标光 学运动捕捉网络;
[0155]
其中,预测模型用于根据原始标记点位置帧样本,预测得到低维度的 预测数据;解码模型用于根据预测数据,解码得到骨骼动画数据。
[0156]
利用上述数据和规范化方法训练一个深度人工神经网络结构,该网络 包括编码模型以及预测模型。该编码模型可以包括d
c
(第三解码模型)、 d
t
(第一解码模型)以及d
m
(第二解码模型),该预测模型可以包括e
ms

[0157]
在一些实施例中,如图8所示,其中mocap

encoders为一个自编码器, 该mocap

encoders包括e
c
、e
t
、e
m
、d
c
、d
t
以及d
m
。其中,该e
c
、e
t
、 以及e
m
用于编码,该用于d
c
、d
t
以及d
m
解码。该mocap

encoders包括 三个分支,分别对应template skeleton、marker configuration和motion,每 个分支对应一个编码模型和一个解码模型。
[0158]
对应于marker configuration的分支,可以包括e
t
和d
t
,将x
t
(输入 的标记点配置数据)输入到该e
t
进行编码,得到l
t
(标记点配置预测),将 该l
t
输入到d
t
进行解码得到y
t
(输出的标记点配置数据)。
[0159]
具体的如图9所示,该e
t
可以包括依次连接的卷积层(conv.)、池化 层(pool)和激活层(relu);d
t
可以包括依次连接的向上池化层(unpool)、 激活层(relu)以及卷积层(conv.)。
[0160]
对应于template skeleton的分支,可以包括e
c
和d
c
,将x
c
(输入的模 板骨骼)、x
t
和l
t
输入到该e
c
进行编码,得到l
c
(模板骨骼预测),将该l
c
、 l
t
和y
t
输入到d
c
进行解码得到y
c
(输出的模板骨骼)。
[0161]
具体的如图9所示,该e
c
可以包括依次连接的全连接层(dense)、激 活层(relu)、残差网络(res.)、全连接层(dense)、激活层(relu)和残差 网络(res.);d
c
可以包括依次连接的全连接层(dense)、激活层(relu)、 残差网络(res.)、全连接层(dense)、激活层(relu)、残差网络(res.)、激 活层(relu)和全连接层(dense)。
[0162]
对应于motion的分支,可以包括e
m
和d
m
,将x
m
(输入的骨骼动画 数据)、x
t
和l
t
输入到该e
m
进行编码,得到l
m
(骨骼动画预测),将该l
m
、 l
t
和y
t
输入到d
m
进行解码得到y
m
(输出的骨骼动画数据)。
[0163]
具体的如图9所示,该e
m
可以包括依次连接的卷积层(conv.)、池化 层(pool)、激活层(relu)、卷积层(conv.)、池化层(pool)以及激活层(relu); d
m
可以包括依次连接的向上池化层(unpool)、卷积层(conv.)、激活层 (lerelu)以及卷积层(conv.)。
[0164]
训练完成的自编码器既可以将template skeleton、marker configuration 和motion三种数据编码成低维空间的隐向量,也可以从隐向量中恢复出对 应的原始数据。
[0165]
编码模型包括模板骨骼编码分支、标记点配置编码分支以及骨骼动画 数据编码分支。
[0166]
可以基于第一损失函数l
t
训练模板骨骼编码分支:
[0167]
l
t
=d(y
t
,x
t
)
ꢀꢀ
公式(二)
[0168]
基于第二损失函数l
m
训练包括标记点配置编码分支:
[0169]
l
m
=β1d(y
m
,x
m
)+β2d(fk(y
m
,x
t
),(fk(x
m
,x
t
))
ꢀꢀ
公式(三)
[0170]
基于第三损失函数l
c
训练骨骼动画数据编码分支:
[0171]
l
c
=β3d(y
c
,x
c
)+β4d(lbs(y
c
,x
t
),(fk(x
c
,x
t
))
ꢀꢀ
公式(四)
[0172]
其中,上述公式中x为原始标记点位置帧样本和y输出的标记点位置 帧,c用于指示对应于骨骼动画数据编码分支的数据、m用于指示对应于 标记点配置编码分支的数据、t用于指示对应于模板骨骼编码分支的数据, d为距离,fk为前向动力学运算和lbs为线性蒙皮运算,β1,β2,β3和β4为 权重系数。
[0173]
例如,x和y分别代表原始数据和网络重构后的数据,d可以为带权 l1距离(头,肩,手臂,手腕,躯干,大腿和脚上的标记点的权重分别为“8: 4:6:10:4:6:10”),fk和lbs分别为骨骼动画理论中的前向动力学 运算和线性蒙皮运算β1,β2,β3和β4为权重系数,分别为“1,100,1和2”。
[0174]
另一个模块mocap

solver的任务为从raw markers预测这个三个分支 的隐向量l
c
、l
t
和l
m
,之后利用训练完成的mocap

encoders就可以从这 三个隐向量中解码出对应的marker configuration、template skeleton和 motion。该mocap

solver可以包括e
ms
(预测模型)、d
c
、d
t
以及d
m
。还 可以包括标准化模块(normalization)以及蒙皮模块(skinning),该d
c
、 d
t
以及d
m
可以为mocap

encoders中训练好的模块。该标准化模块用于对raw markers进行数据规范化得到x。将该x输入到e
ms
中输出为l
c
、l
t
和 lm
[0175]
具体的如图10所示,该e
ms
可以包括依次连接的全连接层(dense)、 激活层(lerelu)以及三个残差网络(res.),在该残差网络并连有三个分支, 每个分支包括依次连
接的两个残差网络(res.)、激活层(relu)以及全连接 层(dense)。
[0176]
其中,每个残差网络(res.)可以由依次连接的批标准化层(batchnormalization,bn)、激活层(relu)以及全连接层(dense)构成。
[0177]
其中的motion就是需要解算的骨骼动画,通过蒙皮(skinning)运算, 可以从这三个数据中计算出对应的清洗后的clean markers,从而完成对光学 动补数据raw markers的清洗和解算任务。在可选的实现中,基于第四损失 函数l训练预测模型e
ms

[0178]
l=a1d(y,x)+α2d(y
c
,x
c
)+α2d(y
t
,x
t
)+α4d(y
m
,x
m
)+γ||ψ||2ꢀꢀ
公式(五)
[0179]
其中,x为原始标记点位置帧样本和y输出的标记点位置帧序列,c 用于指示对应于骨骼动画数据编码分支的数据、m用于指示对应于标记点 配置编码分支的数据、t用于指示对应于模板骨骼编码分支的数据,d为l1距 离,||ψ||2为正则项,α1,α2,α3,a4和γ为权重系数。
[0180]
其中d为带权l1距离,||ψ||2为l2正则项,权重系数α1,α2,α3,a4和γ分别 为1,2,3,8和1。
[0181]
图11为本发明实施例提供了一种光学运动捕捉数据处理装置结构示意 图。如图11所示,该装置包括:
[0182]
获取模块1101,用于获取第一标记点位置帧序列,每个标记点位置帧 序列包括多个标记点,一个标记点用于标记一个或多个关节位置;
[0183]
预测模块1102,用于基于目标预测模型以及第一标记点位置帧序列, 预测得到低维度的预测数据;
[0184]
解码模块1103,用于基于目标解码模型以及预测数据,解码得到目标 骨骼动画数据。
[0185]
在一些实施例中,预测数据包括标记点配置预测以及骨骼动画预测, 目标解码模型包括对应于标记点配置的第一解码模型和对应于骨骼动画的 第二解码模型,目标预测模型包括对应于标记点配置的第一预测模型和对 应于骨骼动画的第二预测模型;预测模块1102具体用于:
[0186]
基于第一预测模型以及第一标记点位置帧序列,预测得到标记点配置 预测;
[0187]
基于第二预测模型以及第一标记点位置帧序列,预测得到骨骼动画预 测。
[0188]
在一些实施例中,解码模块1103具体用于:
[0189]
基第一解码模型以及标记点配置预测,解码得到第一标记点配置数据;
[0190]
基于第二解码模型、骨骼动画预测、标记点配置预测以及第一标记点 配置数据,解码得到目标骨骼动画数据。
[0191]
在一些实施例中,第一解码模型包括依次连接的第一上池化层、第一 激活层以及第一卷积层;第二解码模型包括依次连接的第二上池化层、第 二卷积层、第二激活层、第三上池化层、以及第三卷积层;解码模块803 具体用于:
[0192]
基于第二上池化层以及骨骼动画预测,进行处理得到第一中间数据;
[0193]
基于第二卷积层、第二激活层、第三上池化层、第一中间数据以及标 记点配置预测,进行处理得第二中间数据;
[0194]
基于第三卷积层、第二中间数据以及第一标记点配置数据,解码得到 目标骨骼动画数据。
[0195]
在一些实施例中,预测数据还包括模板骨骼预测,目标预测模型还包 括对应于模板骨骼的第三预测模型,预测模块1102还用于,基于第三预测 模型以及第一标记点位置帧序列,预测得到模板骨骼预测;
[0196]
解码模块1103还用于,基于目标解码模型、模板骨骼预测以及标记点 配置预测,解码得到目标模板骨骼和目标标记点配置;
[0197]
蒙皮模块,用于基于目标骨骼动画数据、目标模板骨骼和目标标记点 配置通过蒙皮运算得到清洗后的第二标记点位置帧序列。
[0198]
在一些实施例中,还包括对齐模块,用于:
[0199]
获取第三标记点位置帧序列,所述多个标记点中包括多个关键标记点;
[0200]
基于预先训练的关键点评价网络以及所述第三标记点位置帧序列,对 所述第三标记点位置帧序列中每个第三标记点位置帧中的所述关键标记点 的可靠性进行评价;
[0201]
基于可靠性高的第三标记点位置帧对应的多个关键标记点的位置,对 每个所述第三标记点位置帧分别进行刚体对齐,得到所述第一标记点位置 帧序列。
[0202]
在一些实施例中,预先训练的关键点评价网络包括依次连接的第一全 连接层、第三激活层、多个残差网络、第四激活层以及第二全连接层;对 齐模块还用于:
[0203]
基于预先训练的关键点评价网络以及所述第三标记点位置帧序列,输 出每个第三标记点位置帧中每个标记点的距离变化值;
[0204]
基于所述每个第三标记点位置帧对应的多个标记点的距离变化值对每 个所述第三标记点位置帧中的所述关键标记点的可靠性进行评价。
[0205]
图12为本发明实施例提供的一种光学运动捕捉网络训练装置结构示意 图。如图12所示,光学运动捕捉网络包括编码模型以及预测模型,包括:
[0206]
确定模块1201,用于确定训练数据,训练数据包括原始标记点位置帧 样本、模板骨骼样本、标记点配置样本以及动画数据样本;
[0207]
训练模块1202,用于基于训练数据对初始光学运动捕捉网络进行训练, 得到目标光学运动捕捉网络;
[0208]
其中,预测模型用于根据原始标记点位置帧样本,预测得到低维度的 预测数据;解码模型用于根据预测数据,解码得到骨骼动画数据。
[0209]
在一些实施例中,编码模型包括模板骨骼编码分支、标记点配置编码 分支以及骨骼动画数据编码分支。
[0210]
在一些实施例中,确定模块1201具体用于:
[0211]
生成不同体型下的人体模型;
[0212]
基于人体模型确定模板骨骼样本以及标记点配置样本;
[0213]
将动画数据样本重定向到人体模型上,驱动人体模型进行运动,并在 运动过程中记录人体模型表面标记点的位置得到干净的标记点;
[0214]
针对干净的标记点增加噪声得到原始标记点位置帧样本。
[0215]
本技术实施例提供的一种光学运动捕捉数据处理装置或一种光学运动 捕捉网络训练装置,与上述实施例提供的游戏的光学运动捕捉数据处理方 法或光学运动捕捉网络训练方法具有相同的技术特征,所以也能解决相同 的技术问题,达到相同的技术效果。
[0216]
如图13所示,本技术实施例提供的一种计算机设备1300,例如,该计 算机设备
1300可以为预处理服务器,包括:处理器1301、存储器1302和 总线,存储器1302存储有处理器1301可执行的机器可读指令,当电子设 备运行时,处理器1301与存储器1302之间通过总线通信,处理器1301执 行机器可读指令,以执行如上述游戏的启动方法的步骤。
[0217]
处理器1301可以采用数字信号处理器(dsp)、现场可编程门阵列 (fpga)、可编程逻辑阵列(pla)中的至少一种硬件形式来实现,处理 器1001可以是中央处理单元(cpu)、图形处理单元(gpu)或者具有数 据处理能力和/或指令执行能力的其它形式的处理单元中的一种或几种的组 合,并且可以控制电子设备1000中的其它组件以执行期望的功能。
[0218]
存储器1302可以包括一个或多个计算机程序产品,计算机程序产品可 以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性 存储器。易失性存储器例如可以包括随机存取存储器(ram)和/或高速缓冲 存储器(cache)等。非易失性存储器例如可以包括只读存储器(rom)、硬盘、 闪存等。在计算机可读存储介质上可以存储一个或多个计算机程序指令, 处理器1301可以运行程序指令,以实现下文的本发明实施例中(由处理器实 现)的客户端功能以及/或者其它期望的功能。在计算机可读存储介质中还可 以存储各种应用程序和各种数据,例如应用程序使用和/或产生的各种数据 等。
[0219]
具体地,上述存储器1302和处理器1301能够为通用的存储器和处理 器,这里不做具体限定,当处理器1301运行存储器1302存储的计算机程 序时,能够执行上述游戏的启动方法。
[0220]
另外,该计算机设备1300还可以包括输入装置以及输出装置。该输入 装置主要用于实现人机交互,该输入装置可以是用户用来输入指令的装置, 可以包括键盘、鼠标、麦克风和触摸屏等中的一个或多个。该输出装置可 以向外部(例如,用户)输出各种信息(例如,图像或声音),可以包括显示器、 扬声器等中的一个或多个。该输出装置可以用于显示上述启动器的图形用 户界面。
[0221]
对应于上述游戏的启动方法,本技术实施例还提供了一种计算机可读 存储介质,计算机可读存储介质存储有机器可运行指令,计算机可运行指 令在被处理器调用和运行时,计算机可运行指令促使处理器运行上述光学 运动捕捉数据处理方法或一种光学运动捕捉网络训练方法的步骤。
[0222]
本技术实施例所提供的光学运动捕捉数据处理装置或一种光学运动捕 捉网络训练装置可以为设备上的特定硬件或者安装于设备上的软件或固件 等。本技术实施例所提供的装置,其实现原理及产生的技术效果和前述方 法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方 法实施例中相应内容。所属领域的技术人员可以清楚地了解到,为描述的 方便和简洁,前述描述的系统、装置和单元的具体工作过程,均可以参考 上述方法实施例中的对应过程,在此不再赘述。
[0223]
在本技术所提供的实施例中,应该理解到,所揭露装置和方法,可以 通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如, 单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方 式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一 些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或 直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或 通信连接,可以是电性,机械或其它的形式。
[0224]
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为 单元显示
的部件可以是或者也可以不是物理单元,即可以位于一个地方, 或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分 或者全部单元来实现本实施例方案的目的。
[0225]
在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法, 也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的, 例如,附图中的流程图和框图显示了根据本技术的多个实施例的装置、方 法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流 程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,模 块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可 执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的 功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实 际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉 及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图 和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于 硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0226]
另外,在本技术提供的实施例中的各功能单元可以集成在一个处理单 元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成 在一个单元中。
[0227]
功能如果以软件功能单元的形式实现并作为独立的产品销售或使用 时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术 的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部 分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介 质中,包括若干指令用以使得一台计算机设备执行本技术各个实施例移动 控制方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、 只读存储器(read

only memory,简称rom)、随机存取存储器(randomaccess memory,简称ram)、磁碟或者光盘等各种可以存储程序代码的介 质。
[0228]
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一 旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步 定义和解释,此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不 能理解为指示或暗示相对重要性。
[0229]
最后应说明的是:以上实施例,仅为本技术的具体实施方式,用以说 明本技术的技术方案,而非对其限制,本技术的保护范围并不局限于此, 尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员 应当理解:任何熟悉本技术领域的技术人员在本技术揭露的技术范围内, 其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化, 或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并 不使相应技术方案的本质脱离本技术实施例技术方案的范围。都应涵盖在 本技术的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1