骨骼动画顶点矫正方法及模型的学习方法、装置和设备转让专利

申请号 : CN202111103180.2

文献号 : CN113554736B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 杨涛唐浩

申请人 : 成都市谛视科技有限公司

摘要 :

本申请提供一种骨骼动画顶点矫正方法及模型的学习方法、装置和设备,包括采集不同人的包括T型姿态的各种动作的全身影像和姿态数据获得模型训练数据:标准3D网格模型的姿态数据P和Pm、N个顶点坐标Gr,T型姿态3D网格模型的N个顶点坐标T、n个关节点坐标J,构建并训练关节位置预测模型,构建姿态回归网络模型和包括标准蒙皮函数、训练好的关节位置预测模型和姿态回归网络模型的骨骼动画顶点矫正模型并训练。本申请提供的骨骼动画顶点矫正模型可以对人物角色在运动过程中原有的皮肤表面产生的不合理的形变进行补偿修正,使得人物角色看起来逼真、自然,提高了动画质量,减少了动画师的工作量,使得制作同样质量的动画花费的时间更少。

权利要求 :

1.一种骨骼动画顶点矫正模型的学习方法,其特征在于,包括:S11:采集不同人的包括T型姿态的各种动作的全身影像和姿态数据,生成具有N个顶点的标准3D网格模型和T型姿态3D网格模型,获取标准3D网格模型的姿态数据轴角形式P、标准3D网格模型的姿态数据旋转矩阵形式Pm、标准3D网格模型的N个顶点坐标Gr、T型姿态3D网格模型的N个顶点坐标T,N为正整数,包括:S111:通过摄像头矩阵采集不同人的包括T型姿态的各种动作的全身影像,同时通过动捕设备同步采集姿态数据;S112:根据不同人的包括T型姿态的各种动作的全身影像,通过立体视觉匹配方法建立3D点云模型,结合几何约束和图像投影约束方法对得到的3D点云模型进行注册对齐生成拥有固定顶点数N的标准3D网格模型和T型姿态3D网格模型;S113:以人的骨盆点为坐标原点建立坐标系,对标准3D网格模型做数据归一化后得到标准3D网格模型的N个顶点坐标Gr,对T型姿态3D网格模型做数据归一化后得到T型姿态3D网格模型N个顶点坐标T;S114:将采集的姿态数据与标准3D网格模型建立一一匹配关系,得到标准3D网格模型的姿态数据轴角形式P,将标准3D网格模型的姿态数据轴角形式P转换为旋转矩阵形式Pm;

S12:将T型姿态3D网格模型进行关节骨骼绑定,得到T型姿态3D网格模型的n个关节点坐标J,n为正整数;

S13:构建关节位置预测模型Joint_net,关节位置预测模型的输出维度与T型姿态3D模型的n个关节点坐标维度相同,将T型姿态3D网格模型的N个顶点坐标T作为关节位置预测模型的输入、T型姿态3D网格模型的n个关节点坐标J作为训练关节位置预测模型的标签对关节位置预测模型进行训练,得到训练好的关节位置预测模型;

S14:构建姿态回归网络模型Pose_net,姿态回归网络模型的输出维度与标准3D网格模型的N个顶点坐标维度相同,姿态回归网络模型的输入为标准3D网格模型的姿态数据旋转矩阵形式Pm,结合标准蒙皮函数、训练好的关节位置预测模型Joint_net和姿态回归网络模型Pose_net构建骨骼动画顶点矫正模型,将标准3D网格模型的姿态数据轴角形式P、标准3D网格模型的姿态数据旋转矩阵形式Pm和T型姿态3D网格模型的N个顶点坐标T作为骨骼动画顶点矫正模型的输入、标准3D网格模型的N个顶点坐标Gr作为训练骨骼动画顶点矫正模型的标签对骨骼动画顶点矫正模型进行训练,得到训练好的骨骼动画顶点矫正模型。

2.根据权利要求1所述的骨骼动画顶点矫正模型的学习方法,其特征在于,所述S13包括:

S131:构建关节位置预测模型Joint_net,关节位置预测模型的输入数据维度为N*3,输出数据维度为n*3;

S132:将T型姿态3D网格模型的N个顶点坐标T转为N*3的张量作为关节位置预测模型的输入,将T型姿态3D网格模型的n个关节点坐标J转为n*3的张量作为训练关节位置预测模型的标签对关节位置预测模型进行训练;

S133:采用均方损失函数优化关节位置预测模型,关节位置预测模型的输出为Jpre ,均方损失计算公式为: ,其中loss表示均方损失,J[i]表示第i个关节点的真实坐标构成的向量,Jpre[i]表示关节位置预测模型预测输出的第i个关节点的坐标构成的向量,最终得到训练好的关节位置预测模型J=Joint_net(T)。

3.根据权利要求1所述的骨骼动画顶点矫正模型的学习方法,其特征在于,所述S14包括:

S141:构建姿态回归网络模型Pose_net,姿态回归网络模型的输入数据维度为n*3*3,输出数据维度为N*3;

S142:结合标准蒙皮函数、训练好的关节位置预测模型Joint_net和姿态回归网络模型Pose_net构建骨骼动画顶点矫正模型 ,其中V表示骨骼动画顶点矫正模型预测输出的顶点坐标的集合,V=[v0, v1…, vN‑1],vi表示第i个顶点的坐标向量,LBS表示线形蒙皮函数,T表示T型姿态3D网格模型的顶点坐标,P、Pm分别表示标准3D网格模型的姿态数据轴角形式和旋转矩阵形式,Pose_net(Pm)表示对于每一个姿态Pm预测一个顶点矫正值,Joint_net(T)表示对于每个T型姿态预测出该人T型姿态下的n个关节点坐标,W表示线形蒙皮函数的权重,P*表示T型姿态的姿态数据,设置W为可导参数、Joint_net为不可导参数;

S143:将T型姿态3D网格模型的N个顶点坐标T转为张量Tin、标准3D网格模型的姿态数据P转为张量Pin、Pm转为张量Pmin作为骨骼动画顶点矫正模型的输入、标准3D网格模型的N个顶点坐标Gr作为训练骨骼动画顶点矫正模型的标签对骨骼动画顶点矫正模型进行训练;

S144:采用包括计算标准3D网格模型顶点坐标差的损失和骨骼动画顶点矫正模型的权重W的损失的损失函数优化骨骼动画顶点矫正模型,计算标准3D网格模型顶点坐标差的损失的均方损失函数为: ,其中loss_v表示计算顶点坐标差的损失值,G[i]表示标准3D模型第i个顶点的坐标向量,V[i]表示骨骼动画顶点矫正模型预测的第i个顶点的坐标向量;计算骨骼动画顶点矫正模型的权重W的损失的损失函数为,其中loss_w表示蒙皮权重损失值,wi,j表示蒙皮函数中第j个关节对第i个顶点的作用权重,合并后的损失函数为: ,其中loss表示骨骼动画顶点矫正模型的总损失值,表示3D网格模型顶点坐标差的损失所占得权重,最终得到训练好的骨骼动画顶点矫正模型。

4.一种骨骼动画顶点矫正方法,其特征在于,包括:获取人体的姿态数据和T型姿态3D网格模型;

将人体的姿态数据和T型姿态3D网格模型输入训练好的骨骼动画顶点矫正模型,得到该姿态下人体的标准3D网格模型的N个顶点坐标;

其中骨骼动画顶点矫正模型采用权利要求1‑3中任一项所述的骨骼动画顶点矫正模型的学习方法进行训练。

5.一种骨骼动画顶点矫正模型的学习装置,其特征在于,包括:训练数据获取模块(31),用于采集不同人的包括T型姿态的各种动作的全身影像和姿态数据,生成具有N个顶点的标准3D网格模型和T型姿态3D网格模型,获取标准3D网格模型的姿态数据轴角形式P、标准3D网格模型的姿态数据旋转矩阵形式Pm、标准3D网格模型的N个顶点坐标Gr、T型姿态3D网格模型的N个顶点坐标T,N为正整数,其中,所述训练数据获取模块(31)包括:人体数据采集单元,用于通过摄像头矩阵采集不同人的包括T型姿态的各种动作的全身影像,同时通过动捕设备同步采集姿态数据;3D模型获取单元,用于根据不同人的包括T型姿态的各种动作的全身影像,通过立体视觉匹配方法建立3D点云模型,结合几何约束和图像投影约束方法对得到的3D点云模型进行注册对齐生成拥有固定顶点数N的标准

3D网格模型和T型姿态3D网格模型;顶点坐标获取单元,用于以人的骨盆点为坐标原点建立坐标系,对标准3D网格模型做数据归一化后得到标准3D网格模型的N个顶点坐标Gr,Gr=[g0,g1,g2,…g(N‑1)],gi表示标准3D网格模型每个顶点3维坐标值,对T型姿态3D网格模型做数据归一化后得到T型姿态3D网格模型N个顶点坐标T,T=[t0,t1,t2,…t(N‑1)] ,ti表示T型姿态3D网格模型每个顶点3维坐标值;姿态数据匹配单元,用于将采集的姿态数据与标准3D网格模型建立一一匹配关系,得到标准3D网格模型的姿态数据轴角形式P,将标准3D网格模型的姿态数据的轴角形式P转换为旋转矩阵形式Pm;

关节数据获取模块(32),用于将T型姿态3D网格模型进行关节骨骼绑定,得到T型姿态

3D网格模型的n个关节点坐标J,n为正整数;

关节模型获取模块(33),用于构建关节位置预测模型Joint_net,关节位置预测模型的输出维度与T型姿态3D模型的n个关节点坐标维度相同,将T型姿态3D网格模型的N个顶点坐标T作为关节位置预测模型的输入、T型姿态3D网格模型的n个关节点坐标J作为训练关节位置预测模型的标签对关节位置预测模型进行训练,得到训练好的关节位置预测模型;

顶点模型获取模块(34),用于构建姿态回归网络模型Pose_net,姿态回归网络模型的输出维度与标准3D网格模型的N个顶点坐标维度相同,姿态回归网络模型的输入为标准3D网格模型的姿态数据旋转矩阵形式Pm,结合标准蒙皮函数、训练好的关节位置预测模型Joint_net和姿态回归网络模型Pose_net构建骨骼动画顶点矫正模型,将标准3D网格模型的姿态数据轴角形式P、标准3D网格模型的姿态数据旋转矩阵形式Pm和T型姿态3D网格模型的N个顶点坐标T作为骨骼动画顶点矫正模型的输入、标准3D网格模型的N个顶点坐标Gr作为训练骨骼动画顶点矫正模型的标签对骨骼动画顶点矫正模型进行训练,得到训练好的骨骼动画顶点矫正模型。

6.根据权利要求5所述的骨骼动画顶点矫正模型的学习装置,其特征在于,所述关节模型获取模块(33)包括:

关节模型构建单元,用于构建关节位置预测模型Joint_net,关节位置预测模型的输入数据维度为N*3,输出数据维度为n*3;

关节模型训练单元,用于将T型姿态3D网格模型的N个顶点坐标T转为N*3的张量作为关节位置预测模型的输入,将T型姿态3D网格模型的n个关节点坐标J转为n*3的张量作为训练关节位置预测模型的标签对关节位置预测模型进行训练;

关节模型优化单元,用于采用均方损失函数优化关节位置预测模型,关节位置预测模型的输出为Jpre ,均方损失计算公式为: ,其中loss表示均方损失,J[i]表示第i个关节点的真实坐标构成的向量,Jpre[i]表示关节位置预测模型预测输出的第i个关节点的坐标构成的向量,最终得到训练好的关节位置预测模型J=Joint_net(T)。

7.根据权利要求5所述的骨骼动画顶点矫正模型的学习装置,其特征在于,所述顶点模型获取模块(34)包括:

姿态模型构建单元,用于构建姿态回归网络模型Pose_net,姿态回归网络模型的输入数据维度为n*3*3,输出数据维度为N*3;

顶点模型构建单元,用于结合标准蒙皮函数、训练好的关节位置预测模型Joint_net和姿态回归网络模型Pose_net构建骨骼动画顶点矫正模型 ,其中V表示骨骼动画顶点矫正模型预测输出的顶点坐标的集合,V=[v0, v1…, vN‑1],vi表示第i个顶点的坐标向量,LBS表示线形蒙皮函数,T表示T型姿态3D网格模型的顶点坐标,P、Pm分别表示标准3D网格模型的姿态数据的轴角形式和旋转矩阵形式,Pose_net(Pm)表示对于每一个姿态Pm预测一个顶点矫正值,Joint_net(T)表示对于每个T型姿态预测出该人T型姿态下的n个关节点坐标,W表示线形蒙皮函数的权重,P*表示T型姿态的姿态数据,设置W为可导参数、Joint_net为不可导参数;

顶点模型训练单元,用于将T型姿态3D网格模型的N个顶点坐标T转为张量Tin、标准3D网格模型的姿态数据P转为张量Pin、Pm转为张量Pmin作为骨骼动画顶点矫正模型的输入、标准

3D网格模型的N个顶点坐标Gr作为训练骨骼动画顶点矫正模型的标签对骨骼动画顶点矫正模型进行训练;

顶点模型优化单元,用于采用包括计算标准3D网格模型顶点坐标差的损失和骨骼动画顶点矫正模型的权重W的损失的损失函数优化骨骼动画顶点矫正模型,计算标准3D网格模型顶点坐标差的损失的均方损失函数为: ,其中loss_v表示计算顶点坐标差的损失值,G[i]表示标准3D模型第i个顶点的坐标向量,V[i]表示骨骼动画顶点矫正模型预测的第i个顶点的坐标向量;计算骨骼动画顶点矫正模型的权重W的损失的损失函数为,其中loss_w表示蒙皮权重损失值,wi,j表示蒙皮函数中第j个关节对第i个顶点的作用权重,合并后的损失函数为: ,其中loss表示骨骼动画顶点矫正模型的总损失值,表示3D网格模型顶点坐标差的损失所占得权重,最终得到训练好的骨骼动画顶点矫正模型。

8.一种计算机设备,其特征在于,包括:存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序以实现如权利要求1至4中任一项所述骨骼动画顶点矫正模型的学习方法的步骤。

说明书 :

骨骼动画顶点矫正方法及模型的学习方法、装置和设备

技术领域

[0001] 本申请涉及角色蒙皮制作技术领域,特别涉及一种骨骼动画顶点矫正模型的学习方法、骨骼动画顶点矫正模型的学习装置、骨骼动画顶点矫正方法及计算机设备。

背景技术

[0002] 目前和AR智能技术正在飞速发展,互联网用户的内容摄取需求越来丰富,针对动画人物,AR等内容的需求越加强烈,在骨骼动画中,人物角色完成骨骼绑定后,需要对角色
骨骼到网格顶点的映射刷权重,使得动画角色在运动过程中表面形成合理的形变,这就是
角色蒙皮。传统的骨骼动画蒙皮的制作完全依赖于人工,不同的角色不同的部位需要手动
的赋予不同的权重,这个过程被称为刷权重过程。
[0003] 在角色蒙皮的过程中,对于不同的人物角色和不同的部位,动画师需要通过反复的观察角色运动过程中表面的形变而给于不同的权重,这个工作量不仅十分的繁杂,而且
同时也难以保证最后的输出动画跟预期的表现一致,如线形混合蒙皮模型中的坍塌、关节
连接处皮肤表面干瘪等问题。造成动画工程师反复进行角色蒙皮权重的重新设定,极大地
降低了动画的质量和输出效率,使得动画的成本高居不下。当前已有的通过IK约束的方法
解决皮肤塌陷问题,通过人体组织动力学求解权重,但是这些方法存在工作量大、计算时间
长、结果不够精确、最终效果依赖于动画师经验等问题而不能得到广泛的应用。

发明内容

[0004] 本申请的目的是提供一种骨骼动画顶点矫正模型的学习方法、骨骼动画顶点矫正模型的学习装置、骨骼动画顶点矫正方法及计算机设备,能够对人物角色在运动过程中原
有的皮肤表面产生的不合理的形变进行补偿修正,避免人物角色在运动过程中某些姿态下
出现皮肤表面塌陷,扭曲等问题。其具体方案如下:
[0005] 本申请提供一种骨骼动画顶点矫正模型的学习方法,包括:
[0006] S11:采集不同人的包括T型姿态的各种动作的全身影像和姿态数据,生成具有N个顶点的标准3D网格模型和T型姿态3D网格模型,获取标准3D网格模型的姿态数据轴角形式
P、标准3D网格模型的姿态数据旋转矩阵形式Pm、标准3D网格模型的N个顶点坐标Gr、T型姿
态3D网格模型的N个顶点坐标T,N为正整数;
[0007] S12:将T型姿态3D网格模型进行关节骨骼绑定,得到T型姿态3D网格模型的n个关节点坐标J,n为正整数;
[0008] S13:构建关节位置预测模型Joint_net,关节位置预测模型的输出维度与T型姿态3D模型的n个关节点坐标维度相同,将T型姿态3D网格模型的N个顶点坐标T作为关节位置预
测模型的输入、T型姿态3D网格模型的n个关节点坐标J作为训练关节位置预测模型的标签
对关节位置预测模型进行训练,得到训练好的关节位置预测模型;
[0009] S14:构建姿态回归网络模型Pose_net,姿态回归网络模型的输出维度与标准3D网格模型的N个顶点坐标维度相同,姿态回归网络模型的输入为标准3D网格模型的姿态数据
旋转矩阵形式Pm,结合标准蒙皮函数、训练好的关节位置预测模型Joint_net和姿态回归网
络模型Pose_net构建骨骼动画顶点矫正模型,将标准3D网格模型的姿态数据轴角形式P、标
准3D网格模型的姿态数据旋转矩阵形式Pm和T型姿态3D网格模型的N个顶点坐标T作为骨骼
动画顶点矫正模型的输入、标准3D网格模型的N个顶点坐标Gr作为训练骨骼动画顶点矫正
模型的标签对骨骼动画顶点矫正模型进行训练,得到训练好的骨骼动画顶点矫正模型。
[0010] 可选的,所述S11包括:
[0011] S111:通过摄像头矩阵采集不同人的包括T型姿态的各种动作的全身影像,同时通过动捕设备同步采集姿态数据;
[0012] S112:根据不同人的包括T型姿态的各种动作的全身影像,通过立体视觉匹配方法建立3D点云模型,结合几何约束和图像投影约束方法对得到的3D点云模型进行注册对齐生
成拥有固定顶点数N的标准3D网格模型和T型姿态3D网格模型;
[0013] S113:以人的骨盆点为坐标原点建立坐标系,对标准3D网格模型做数据归一化后得到标准3D网格模型的N个顶点坐标Gr,对T型姿态3D网格模型做数据归一化后得到T型姿
态3D网格模型N个顶点坐标T;
[0014] S114:将采集的姿态数据与标准3D网格模型建立一一匹配关系,得到标准3D网格模型的姿态数据轴角形式P,将标准3D网格模型的姿态数据轴角形式P转换为旋转矩阵形式
Pm。
[0015] 可选的,所述S13包括:
[0016] S131:构建关节位置预测模型Joint_net,关节位置预测模型的输入数据维度为N*3,输出数据维度为n*3;
[0017] S132:将T型姿态3D网格模型的N个顶点坐标T转为N*3的张量作为关节位置预测模型的输入,将T型姿态3D网格模型的n个关节点坐标J转为n*3的张量作为训练关节位置预测
模型的标签对关节位置预测模型进行训练;
[0018] S133:采用均方损失函数优化关节位置预测模型,关节位置预测模型的输出为Jpre, ,均方损失计算公式为: ,其中loss表示均方损失,J[i]表
示第i个关节点的真实坐标构成的向量,Jpre[i]表示关节位置预测模型预测输出的第i个关
节点的坐标构成的向量,最终得到训练好的关节位置预测模型J=Joint_net(T)。
[0019] 可选的,所述S14包括:
[0020] S141:构建姿态回归网络模型Pose_net,姿态回归网络模型的输入数据维度为n*3*3,输出数据维度为N*3;
[0021] S142:结合标准蒙皮函数、训练好的关节位置预测模型Joint_net和姿态回归网络模型Pose_net构建骨骼动画顶点矫正模型 ,其中V
表示骨骼动画顶点矫正模型预测输出的顶点坐标的集合,V=[v0, v1…, vN‑1],vi表示第i个
顶点的坐标向量,LBS表示线形蒙皮函数,T表示T型姿态3D网格模型的顶点坐标,P、Pm分别
表示标准3D网格模型的姿态数据轴角形式和旋转矩阵形式,Pose_net(Pm)表示对于每一个
姿态Pm预测一个顶点矫正值,Joint_net(T)表示对于每个T型姿态预测出该人T型姿态下的
n个关节点坐标,W表示线形蒙皮函数的权重,P*表示T型姿态的姿态数据,设置W为可导参
数、Joint_net为不可导参数;
[0022] S143:将T型姿态3D网格模型的N个顶点坐标T转为张量Tin、标准3D网格模型的姿态数据P转为张量Pin、Pm转为张量Pmin作为骨骼动画顶点矫正模型的输入、标准3D网格模型的N
个顶点坐标Gr作为训练骨骼动画顶点矫正模型的标签对骨骼动画顶点矫正模型进行训练;
[0023] S144:采用包括计算标准3D网格模型顶点坐标差的损失和骨骼动画顶点矫正模型的权重W的损失的损失函数优化骨骼动画顶点矫正模型,计算标准3D网格模型顶点坐标差
的损失的均方损失函数为: ,其中loss_v表示计算顶点
坐标差的损失值,G[i]表示标准3D模型第i个顶点的坐标向量,V[i]表示骨骼动画顶点矫正
模型预测的第i个顶点的坐标向量;计算骨骼动画顶点矫正模型的权重W的损失的损失函数
为 ,其中loss_w表示蒙皮权重损失值,wi,j表示蒙皮函数中
第j个关节对第i个顶点的作用权重,合并后的损失函数为: ,
其中loss表示骨骼动画顶点矫正模型的总损失值,表示3D网格模型顶点坐标差的损失所占
得权重,最终得到训练好的骨骼动画顶点矫正模型。
[0024] 本申请还提供一种骨骼动画顶点矫正方法,包括:
[0025] 获取人体的姿态数据和T型姿态3D网格模型;
[0026] 将人体的姿态数据和T型姿态3D网格模型输入训练好的骨骼动画顶点矫正模型,得到该姿态下人体的标准3D网格模型的N个顶点坐标;
[0027] 其中骨骼动画顶点矫正模型采用上述的骨骼动画顶点矫正模型的学习方法进行训练。
[0028] 本申请还提供一种骨骼动画顶点矫正模型的学习装置,包括:
[0029] 训练数据获取模块31,用于采集不同人的包括T型姿态的各种动作的全身影像和姿态数据,生成具有N个顶点的标准3D网格模型和T型姿态3D网格模型,获取标准3D网格模
型的姿态数据轴角形式P、标准3D网格模型的姿态数据旋转矩阵形式Pm、标准3D网格模型的
N个顶点坐标Gr、T型姿态3D网格模型的N个顶点坐标T,N为正整数;
[0030] 关节数据获取模块32,用于将T型姿态3D网格模型进行关节骨骼绑定,得到T型姿态3D网格模型的n个关节点坐标J,n为正整数;
[0031] 关节模型获取模块33,用于构建关节位置预测模型Joint_net,关节位置预测模型的输出维度与T型姿态3D模型的n个关节点坐标维度相同,将T型姿态3D网格模型的N个顶点
坐标T作为关节位置预测模型的输入、T型姿态3D网格模型的n个关节点坐标J作为训练关节
位置预测模型的标签对关节位置预测模型进行训练,得到训练好的关节位置预测模型;
[0032] 顶点模型获取模块34,用于构建姿态回归网络模型Pose_net,姿态回归网络模型的输出维度与标准3D网格模型的N个顶点坐标维度相同,姿态回归网络模型的输入为标准
3D网格模型的姿态数据旋转矩阵形式Pm,结合标准蒙皮函数、训练好的关节位置预测模型
Joint_net和姿态回归网络模型Pose_net构建骨骼动画顶点矫正模型,将标准3D网格模型
的姿态数据轴角形式P、标准3D网格模型的姿态数据旋转矩阵形式Pm和T型姿态3D网格模型
的N个顶点坐标T作为骨骼动画顶点矫正模型的输入、标准3D网格模型的N个顶点坐标Gr作
为训练骨骼动画顶点矫正模型的标签对骨骼动画顶点矫正模型进行训练,得到训练好的骨
骼动画顶点矫正模型。
[0033] 可选的,所述训练数据获取模块31包括:
[0034] 人体数据采集单元,用于通过摄像头矩阵采集不同人的包括T型姿态的各种动作的全身影像,同时通过动捕设备同步采集姿态数据;
[0035] 3D模型获取单元,用于根据不同人的包括T型姿态的各种动作的全身影像,通过立体视觉匹配方法建立3D点云模型,结合几何约束和图像投影约束方法对得到的3D点云模型
进行注册对齐生成拥有固定顶点数N的标准3D网格模型和T型姿态3D网格模型;
[0036] 顶点坐标获取单元,用于以人的骨盆点为坐标原点建立坐标系,对标准3D网格模型做数据归一化后得到标准3D网格模型的N个顶点坐标Gr,Gr=[g0,g1,g2,…g(N‑1)],gi表示
标准3D网格模型每个顶点3维坐标值,对T型姿态3D网格模型做数据归一化后得到T型姿态
3D网格模型N个顶点坐标T,T=[t0,t1,t2,…t(N‑1)] ,ti表示T型姿态3D网格模型每个顶点3维
坐标值;
[0037] 姿态数据匹配单元,用于将采集的姿态数据与标准3D网格模型建立一一匹配关系,得到标准3D网格模型的姿态数据轴角形式P,将标准3D网格模型的姿态数据的轴角形式
P转换为旋转矩阵形式Pm。
[0038] 可选的,所述关节模型获取模块33包括:
[0039] 关节模型构建单元,用于构建关节位置预测模型Joint_net,关节位置预测模型的输入数据维度为N*3,输出数据维度为n*3;
[0040] 关节模型训练单元,用于将T型姿态3D网格模型的N个顶点坐标T转为N*3的张量作为关节位置预测模型的输入,将T型姿态3D网格模型的n个关节点坐标J转为n*3的张量作为
训练关节位置预测模型的标签对关节位置预测模型进行训练;
[0041] 关节模型优化单元,用于采用均方损失函数优化关节位置预测模型,关节位置预测模型的输出为Jpre ,均方损失计算公式为: ,其中loss表示均
方损失,J[i]表示第i个关节点的真实坐标构成的向量,Jpre[i]表示关节位置预测模型预测
输出的第i个关节点的坐标构成的向量,最终得到训练好的关节位置预测模型J=Joint_net
(T)。
[0042] 可选的,其特征在于,所述顶点模型获取模块34包括:
[0043] 姿态模型构建单元,用于构建姿态回归网络模型Pose_net,姿态回归网络模型的输入数据维度为n*3*3,输出数据维度为N*3;
[0044] 顶点模型构建单元,用于结合标准蒙皮函数、训练好的关节位置预测模型Joint_net和姿态回归网络模型Pose_net构建骨骼动画顶点矫正模型,其中V表示骨骼动画顶点矫
正模型预测输出的顶点坐标的集合,V=[v0, v1…, vN‑1],vi表示第i个顶点的坐标向量,LBS
表示线形蒙皮函数,T表示T型姿态3D网格模型的顶点坐标,P、Pm分别表示标准3D网格模型
的姿态数据的轴角形式和旋转矩阵形式,Pose_net(Pm)表示对于每一个姿态Pm预测一个顶
点矫正值,Joint_net(T)表示对于每个T型姿态预测出该人T型姿态下的n个关节点坐标,W
表示线形蒙皮函数的权重,P*表示T型姿态的姿态数据,设置W为可导参数、Joint_net为不
可导参数;
[0045] 顶点模型训练单元,用于将T型姿态3D网格模型的N个顶点坐标T转为张量Tin、标准3D网格模型的姿态数据P转为张量Pin、Pm转为张量Pmin作为骨骼动画顶点矫正模型的输入、
标准3D网格模型的N个顶点坐标Gr作为训练骨骼动画顶点矫正模型的标签对骨骼动画顶点
矫正模型进行训练;
[0046] 顶点模型优化单元,用于采用包括计算标准3D网格模型顶点坐标差的损失和骨骼动画顶点矫正模型的权重W的损失的损失函数优化骨骼动画顶点矫正模型,计算标准3D网
格模型顶点坐标差的损失的均方损失函数为: ,其中
loss_v表示计算顶点坐标差的损失值,G[i]表示标准3D模型第i个顶点的坐标向量,V[i]表
示骨骼动画顶点矫正模型预测的第i个顶点的坐标向量;计算骨骼动画顶点矫正模型的权
重W的损失的损失函数为 ,其中loss_w表示蒙皮权重损失
值,wi,j表示蒙皮函数中第j个关节对第i个顶点的作用权重,合并后的损失函数为:
,其中loss表示骨骼动画顶点矫正模型的总损失值,表
示3D网格模型顶点坐标差的损失所占得权重,最终得到训练好的骨骼动画顶点矫正模型。
[0047] 本申请还提供一种计算机设备,包括:
[0048] 存储器,用于存储计算机程序;
[0049] 处理器,用于执行所述计算机程序以实现如上述骨骼动画顶点矫正模型的学习方法的步骤。
[0050] 本申请提供一种骨骼动画顶点矫正模型的学习方法,包括采集不同人的包括T型姿态的各种动作的全身影像和姿态数据获得标准3D网格模型的姿态数据P、标准3D网格模
型的姿态数据旋转矩阵形式Pm、标准3D网格模型的N个顶点坐标Gr、T型姿态3D网格模型的N
个顶点坐标T,将T型姿态3D网格模型进行关节骨骼绑定得到T型姿态3D网格模型的n个关节
点坐标J,构建并训练关节位置预测模型,构建姿态回归网络模型,构建包括标准蒙皮函数、
训练好的关节位置预测模型和姿态回归网络模型的骨骼动画顶点矫正模型并训练,得到训
练好的骨骼动画顶点矫正模型。
[0051] 可见,本申请提供的骨骼动画顶点矫正模型可以对人物角色在运动过程中原有的皮肤表面产生的不合理的形变进行补偿修正,使得人物角色运动过程中看起来逼真、自然、
合理,提高了动画质量,同时减少了动画师在动画后期制作过程中的工作量,使得制作同样
质量的动画花费的时间更少,成本更低。
[0052] 本申请同时还提供了一种骨骼动画顶点矫正模型的学习装置、骨骼动画顶点矫正方法及计算机设备,均具有上述有益效果,在此不再赘述。

附图说明

[0053] 为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本
申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据
这些附图获得其他的附图。
[0054] 图1为本申请实施例提供的一种骨骼动画顶点矫正模型的学习方法的流程示意图;
[0055] 图2为本申请实施例提供的一种训练数据获取的方法流程示意图;
[0056] 图3为本申请实施例提供的一种关节位置预测模型获取的方法流程示意图;
[0057] 图4为本申请实施例提供的一种关节位置预测模型的网络结构示意图;
[0058] 图5为本申请实施例提供的一种骨骼动画顶点矫正模型获取的方法流程示意图;
[0059] 图6为本申请实施例提供的一种姿态回归网络模型的网络结构示意图
[0060] 图7为本申请实施例提供的一种骨骼动画顶点矫正方法的流程示意图;
[0061] 图8为本申请实施例提供的一种骨骼动画顶点矫正模型的学习装置的结构示意图。

具体实施方式

[0062] 为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅
仅是本申请一部分实施例,而不是全部实施例。基于本申请中的实施例,本领域普通技术人
员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护范围。
[0063] 在角色蒙皮的过程中,对于不同的人物角色和不同的部位,动画师需要通过反复的观察角色运动过程中表面的形变而给于不同的权重,这个工作量不仅十分的繁杂,而且
同时也难以保证最后的输出动画跟预期的表现一致,如线形混合蒙皮模型中的坍塌、关节
连接处皮肤表面干瘪等问题。造成动画工程师反复进行角色蒙皮权重的重新设定,极大地
降低了动画的质量和输出效率,使得动画的成本高居不下。当前已有的通过IK约束的方法
解决皮肤塌陷问题,通过人体组织动力学求解权重,但是这些方法存在工作量大、计算时间
长、结果不够精确、最终效果依赖于动画师经验等问题而不能得到广泛的应用。
[0064] 基于上述问题,本实施例提供一种骨骼动画顶点矫正模型的学习方法,基于标准蒙皮函数、训练好的关节位置预测模型和姿态回归网络模型构建的骨骼动画顶点矫正模型
可以对人物角色在运动过程中原有的皮肤表面产生的不合理的形变进行补偿修正,使得人
物角色运动过程中看起来逼真、自然、合理,提高了动画质量,同时减少了动画师在动画后
期制作过程中的工作量,使得制作同样质量的动画花费的时间更少,成本更低。
[0065] 具体请参考图1,图1为本申请实施例提供的一种骨骼动画顶点矫正模型的学习方法,具体包括:
[0066] S11:采集不同人的包括T型姿态的各种动作的全身影像和姿态数据,生成具有N个顶点的标准3D网格模型和T型姿态3D网格模型,获取标准3D网格模型的姿态数据轴角形式
P、标准3D网格模型的姿态数据旋转矩阵形式Pm、标准3D网格模型的N个顶点坐标Gr、T型姿
态3D网格模型的N个顶点坐标T,N为正整数。
[0067] 在一种可实现的实施方式中,如图2所示,S11包括:
[0068] S111:通过摄像头矩阵采集不同人的包括T型姿态的各种动作的全身影像,同时通过动捕设备同步采集姿态数据。
[0069] S112:根据不同人的包括T型姿态的各种动作的全身影像,通过立体视觉匹配方法建立3D点云模型,结合几何约束和图像投影约束方法对得到的3D点云模型进行注册对齐生
成拥有固定顶点数N的标准3D网格模型和T型姿态3D网格模型。
[0070] S113:以人的骨盆点为坐标原点建立坐标系,对标准3D网格模型做数据归一化后得到标准3D网格模型的N个顶点坐标Gr,Gr=[g0,g1,g2,…g(N‑1)],gi表示标准3D网格模型每
个顶点3维坐标值,对T型姿态3D网格模型做数据归一化后得到T型姿态3D网格模型N个顶点
坐标T,T=[t0,t1,t2,…t(N‑1)] ,ti表示T型姿态3D网格模型每个顶点3维坐标值。
[0071] S114:将采集的姿态数据与标准3D网格模型建立一一匹配关系,得到标准3D网格模型的姿态数据轴角形式P,P=[p0,p1 , p2,…p(n‑1)],pi表示人体骨骼第i个关节点相对于父
节点的欧拉旋转角,将标准3D网格模型的姿态数据的轴角形式P转换为旋转矩阵形式Pm,Pm=
0 1 n‑1 i
[pm, pm,…, p m],pm表示人体骨骼第i个关节点相对于父节点的旋转矩阵。
[0072] 在本实施例中,使用相机阵列和动捕设备采集不同人的全身影像(外形数据)和姿态数据生成并注册成标准网格。通过摄像头环形阵列环绕被拍摄的采集对象,本实施例不
对相机阵列的具体形式进行限定,可以根据实际需求设计。例如本实施例使用了48个摄像
头采用环形布置,把摄像头分成16列,每列3个摄像头间隔0.7米竖直放置,16列摄像头均匀
环绕摄影棚一周实现对人体的360度无死角覆盖,并且摄像头必须具有同步采集功能以确
保采集下来的图像可以实现每一幅图像的同步对齐并且每次采集数据前都要对摄像机进
行参数标定。
[0073] 在本实施例中,用摄像机阵列采集人体各种动作(主要包含人体日常运动动作如跑步、走路、下蹲、舞蹈等动作)的数据,由于摄像机采用了帧同步技术,摄像头之间的每一
帧数据都可以得到一一匹配。摄像头采集的每一帧数据都要保存一个时间戳,精确到毫秒。
接下来,通过立体视觉匹配方法建立3D点云模型,结合几何约束和图像投影约束方法对得
到的3D点云模型进行注册对齐生成一个拥有固定顶点数N的标准3D网格模型,本实施例不
对N的具体大小进行限定,可以根据实际需求选择不同的3D网格模型,例如我们使用了包含
110899个顶点的3D网格模型。然后以人骨盆点为坐标原点建立坐标系(坐标轴的方向可以
随意,但是一定要前后一致),对这个标准的3D网格模型做数据归一化后得到每个顶点的三
维坐标值Gr=[g0,g1,g2,…g(N‑1)],gi=[x,y,z]表示3D模型每个顶点3维坐标值,另外还必须
采集每一个人的T_Pose(T型姿态)状态下的T型姿态数据生成T型姿态3D网格模型,对每个T
型姿态3D网格模型的坐标进行归一化,得到每个顶点的三维坐标值T=[t0,t1,t2,…t(N‑1)];
N×3
ti=[x,y,z]表示T型姿态3D网格模型顶点的三维空间坐标,T∈R ,T_psoe有一个统一的姿
态数据P*=[p*0,p*1,p*2,...p*n‑1],这相当于一个常量。
[0074] 具体的,在采集数据前,把动捕设备时间和摄像机时间调为一致,并且设置动捕数据的帧率是摄像头图像采集帧率的两倍以上,设置动捕设备保存数据时必须保存每帧数据
的时间戳,在采集数据时动捕设备保存数据时就可以保存每帧数据的时间戳。采集完成后,
比对动捕数据的时间戳和摄像头阵列采集的图像数据的时间戳,当两个时间戳的差值小于
设定的阈值(我们设定阈值为4ms)时认为这一条动捕数据和这个图像数据是同时采集的,
得到一条匹配数据,从而实现动捕的姿态动作数据和标准3D网格模型形成一一匹配的关
系,同时得到动捕数据P= [p0,p1,p2, …pn‑1],pi表示人体骨骼第i个关节点相对于父节点
的欧拉旋转角,pi=[θ1,θ2,θ3],θ1,θ2,θ3分别表示俯仰角、偏航角、滚动角(顺序可以任意,前
后一致即可)。将姿态数据P的旋转角标准化:,P=[p0,p1 , p2,…p(n‑1)],把Pj用标准旋转角转
j j 3×3 0 1 n‑1 j
化公式转为旋转矩阵Pm,Pm∈R ,Pm=[pm, p m,…, p m],pm表示人体骨骼第j个关节点
相对于父节点的旋转矩阵。
[0075]  S12:将T型姿态3D网格模型进行关节骨骼绑定,得到T型姿态3D网格模型的n个关节点坐标J,n为正整数。
[0076] 在本实施例中,可以通过动画师使用maya工具对T_Pose下得到的T型姿态3D网格模型做高精度的关节骨骼绑定并导出关节点坐标J,J=[j0,j1,j2,…j(n‑1)],每个T型姿态3D
n×3
网格模型有n个关节点,每个关节包含x,y,z坐标,J∈R 。
[0077] S13:构建关节位置预测模型Joint_net,关节位置预测模型的输出维度与T型姿态3D模型的n个关节点坐标维度相同,将T型姿态3D网格模型的N个顶点坐标T作为关节位置预
测模型的输入、T型姿态3D网格模型的n个关节点坐标J作为训练关节位置预测模型的标签
对关节位置预测模型进行训练,得到训练好的关节位置预测模型。
[0078] 在一种可实现的实施方式中,如图3所示,S13包括:
[0079] S131:构建关节位置预测模型Joint_net,关节位置预测模型的输入数据维度为N*3,输出数据维度为n*3;
[0080] S132:将T型姿态3D网格模型的N个顶点坐标T转为N*3的张量作为关节位置预测模型的输入,将T型姿态3D网格模型的n个关节点坐标J转为n*3的张量作为训练关节位置预测
模型的标签对关节位置预测模型进行训练;
[0081] S133:采用均方损失函数优化关节位置预测模型,关节位置预测模型的输出为Jpre, ,均方损失计算公式为: ,其中loss表示均方损失,J[i]表
示第i个关节点的真实坐标构成的向量,Jpre[i]表示关节位置预测模型预测输出的第i个关
节点的坐标构成的向量,最终得到训练好的关节位置预测模型J=Joint_net(T)。
[0082] 在本实施例中,构建一个关节位置预测模型Joint_net,如图4所示,其中Input:N×3表示输入数据维度为N*3,FC、ReLu分别表示神经网络的全连接层和ReLu激活层,中间的
数字表示每层神经网络输出数据的维度,Output:n×3表示输出数据维度为n*3。设置
Joint_net的输入是N×3(注册的3D网格模型拥有N个顶点,每个顶点包含x,y,z坐标),输出
是n×3(每个3D网格模型有n个关节点,每个关节包含x,y,z坐标),使用步骤S11得到的T型
姿态3D网格模型的N个顶点坐标T做输入,T型姿态3D网格模型的n个关节点坐标J做标签,利
用均方误差函数约束对Joint_net进行关节位置预测模型的标准化学习训练,最终使得该
关节位置预测模型训练收敛后能够预测任意人体的T型姿态3D网格模型的关节坐标。即J=
Joint_net(T)。
[0083] 具体的步骤包括:(1)构建一个关节位置预测模型Joint_net,模型结构如图4所示。Joint_net是一个输入是N×3,输出是n×3的神经网络(T_pose下建立的T型姿态3D网格
模型的数据维度是N×3,骨骼绑定后导出的关节数据J的维度为n×3)。(2)将T型姿态3D网
格模型的N个顶点坐标T变为一个N×3的张量,即将N个顶点坐标T进行拼接变为一个N×3的
张量,作为关节位置预测模型Joint_net的输入,把T型姿态3D网格模型的n个关节点坐标J
变为一个n×3的张量,即将n个关节点坐标J拼接变为一个n×3的张量,作为训练关节位置
预测模型Joint_net的指导标签。(3)对关节位置预测模型Joint_net采用均方损失函数为
优化目标,网络的输出为Jpre,均方损失计算公式如下 :,
其中loss表示均方损失,J[i]表示第i个关节点的真实坐标构成的向量,Jpre[i]表示关节位
置预测模型预测输出的第i个关节点的坐标构成的向量。(4) 设置关节位置预测模型
Joint_net的训练参数,本实施例中具体参数为:学习速率为0.001,优化方法为Adam(自适
应时刻估计方法),迭代次数100次,Batch size为8。(5) 采用标准的神经网络训练方法训
练Joint_net,最终实现J=Joint_net(T)。
[0084] 通过构建关节位置预测模型Joint_net,能够正确预测任意人物角色在T_Pose下的每个关节的坐标,有了每个关节的坐标值,就可以通过简单的程序完成人物角色的骨骼
自动绑定,人物角色的骨骼绑定花费时间本就很多,本申请的技术可以大大减少了人物角
色的制作时间、成本以及难度。
[0085]  S14:构建姿态回归网络模型Pose_net,姿态回归网络模型的输出维度与标准3D网格模型的N个顶点坐标维度相同,姿态回归网络模型的输入为标准3D网格模型的姿态数
据旋转矩阵形式Pm,结合标准蒙皮函数、训练好的关节位置预测模型Joint_net和姿态回归
网络模型Pose_net构建骨骼动画顶点矫正模型,将标准3D网格模型的姿态数据轴角形式P、
标准3D网格模型的姿态数据旋转矩阵形式Pm和T型姿态3D网格模型的N个顶点坐标T作为骨
骼动画顶点矫正模型的输入、标准3D网格模型的N个顶点坐标Gr作为训练骨骼动画顶点矫
正模型的标签对骨骼动画顶点矫正模型进行训练,得到训练好的骨骼动画顶点矫正模型。
[0086] 在一种可实现的实施方式中,如图5所示,S14包括:
[0087] S141:构建姿态回归网络模型Pose_net,姿态回归网络模型的输入数据维度为n*3*3,输出数据维度为N*3;
[0088] S142:结合标准蒙皮函数、训练好的关节位置预测模型Joint_net和姿态回归网络模型Pose_net构建骨骼动画顶点矫正模型,其中V表示骨骼动画顶点矫正模型预测输出的
顶点坐标的集合,V=[v0, v1…, vN‑1],vi表示第i个顶点的坐标向量,LBS表示线形蒙皮函
数,T表示T型姿态3D网格模型的顶点坐标,P、Pm分别表示标准3D网格模型的姿态数据的轴
角形式和旋转矩阵形式,Pose_net(Pm)表示对于每一个姿态Pm预测一个顶点矫正值,Joint_
net(T)表示对于每个T型姿态预测出该人T型姿态下的n个关节点坐标,W表示线形蒙皮函数
的权重,P*表示T型姿态的姿态数据,设置W为可导参数、Joint_net为不可导参数;
[0089] S143:将T型姿态3D网格模型的N个顶点坐标T转为张量Tin、标准3D网格模型的姿态数据P转为张量Pin、Pm转为张量Pmin作为骨骼动画顶点矫正模型的输入、标准3D网格模型的N
个顶点坐标Gr作为训练骨骼动画顶点矫正模型的标签对骨骼动画顶点矫正模型进行训练;
[0090] S144:采用包括计算标准3D网格模型顶点坐标差的损失和骨骼动画顶点矫正模型的权重W的损失的损失函数优化骨骼动画顶点矫正模型,计算标准3D网格模型顶点坐标差
的损失的均方损失函数为: ,其中loss_v表示计算顶点
坐标差的损失值,G[i]表示标准3D模型第i个顶点的坐标向量,V[i]表示骨骼动画顶点矫正
模型预测的第i个顶点的坐标向量;计算骨骼动画顶点矫正模型的权重W的损失的损失函数
为,其中loss_w表示蒙皮权重损失值,wi,j表示蒙皮函数中第j个关节对第i个顶点的作用权
重,合并后的损失函数为: ,其中loss表示骨骼动画顶
点矫正模型的总损失值,表示3D网格模型顶点坐标差的损失所占得权重,最终得到训练好
的骨骼动画顶点矫正模型。
[0091] 在本实施例中,构建一个姿态回归网络模型Pose_net,如图6所示,其中Input:n×3×3表示输入数据维度为n*3*3,FC、ReLu分别表示神经网络的全连接层和RuLu激活层,中
间的数字表示每层神经网络的输出数据的维度,Output:N×3表示输出数据维度为N*3。设
置Pose_net的输入是n×3×3(注册的3D网格模型有n个关节点,每个关节点使用旋转矩阵
表示后为3×3的矩阵),输出是N×3(注册的3D网格模型拥有N个顶点,每个顶点包含x,y,z
坐标),使用标准的蒙皮函数计算最终的顶点坐标V,V=[v0,v1,v2,…,vN‑1]。
[0092] 在本实施例中,使用了蒙皮函数,本实施例并不对蒙皮函数的类型做具体的限定,本方法原则上适用于任意蒙皮算法,本实施例中的示例使用的线形混合蒙皮,该蒙皮函数
结合了Pose_net和Joint_net两个神经网络,把整个蒙皮函数看成是一个神经网络模型,使
用神经网络中的反向传播和梯度下降的方法去优化它。
[0093] 具体的,把标准的蒙皮函数结合姿态回归网络模型Pose_net进行改进,可以使用线形蒙皮函数(LBS)结合姿态回归网络模型Pose_net的方法,具体改进如下,标准的线性蒙
皮公式为V=LBS(T,P,J,W,P*),其中, ,即,其中vi表示第i个顶点的坐标向量,wi,j表示蒙
皮函数中第j个关节对第i个顶点的作用权重,其中,公式的含义是:当前姿态下3D模型顶点
相对于T型姿态下的旋转变化,,公式的含义是:计算当前姿态下第j个关节点相对于根节点
的旋转,P、Pm分别表示标准3D网格模型的姿态数据的轴角形式和旋转矩阵形式,J表示T型
j
姿态3D网格模型的n个关节点坐标,Pm表示在角色运动过程中第j个关节点的姿态数据用旋
转矩阵的形式表示,gi表示该3D角色在T_pose下第i个顶点的3维坐标值。P*表示T型姿态的
姿态数据,是一个常量,A(j)表示一个关节点到根节点的最短路径构成的通路集合,是一个
从根节点到一个节点的有序向量集合,其中W=[w0,0,w0,1…w0,n;w1,0, w1,1…w1,n‑1, … 
wN‑1,n‑1],wi,j表示在线性蒙皮模型中3D角色模型的第j个关节点对第i个顶点的作用权重,
对于wi,j有:0
[0094] 本实施例中使用线性蒙皮函数结合姿态回归网络模型Pose_net的计算公式如下:
[0095] ;
[0096] 在中 ,由于J可由J=Joint_net(T)得到,因此该公式可写成:,即:
j
,其中,W为蒙皮的权重,Pm是姿态数据Pj的旋转矩阵表示,维度为3×3(每个关节点的旋转
0 1 n‑1
用3×3的旋转矩阵表示),Pm=[pm, pm,…, p m],设置W为可导变量,这样在训练骨骼动画
顶点矫正模型过程中,W变成了可变参数,这样改进后的蒙皮函数就是一个可训练的神经网
络。由于关节位置预测模型Joint_net已经训练完成,所以在训练LBS过程中,应设置Joint_
net参数不可导,使得在训练LBS过程中,Joint_net参数保持不变。
[0097] 其中,本实施例中把改进LBS中的权重值W的每一位wi,j设置为可学习变量,把结合了Pose_net的蒙皮函数当做一个神经网络模型,即骨骼动画顶点矫正模型,使用神经网络
标准化训练的方法训练骨骼动画顶点矫正模型,通过此次骨骼动画顶点矫正模型的训练学
习可以优化wi,j参数。将T_pose模型数据T=[t0,t1,t2,…t(N‑1)] 和对应的姿态数据的旋转矩
n×3×3
阵表达形式数据Pm∈R 作为骨骼动画顶点矫正模型的输入,使用标准3D网格模型的N个
顶点坐标Gr,Gr=[g0,g1,g2,…g(N‑1)]作为训练骨骼动画顶点矫正模型的标签。在这个改进的
模型中,姿态回归网络模型Pose_net的作用就相当于对于每个姿态数据P,预测该3D模型在
该姿态数据下每一个顶点的修正值vs,以此来弥补LBS的一部分不足。
[0098] 具体的,将采集到的T_pose的3D模型数据T=[t0,t1,t2,…t(N‑1)]构建张量Tin,姿态数据P构建的张量Pin以及把P转为旋转矩阵的表达形式Pm构建的张量Pmin作为输入数据,Gr
做标签,损失函数分两部分设计,即:标准3D网格模型顶点坐标差的损失和改进线形蒙皮模
型(骨骼动画顶点矫正模型)的权重W的损失,采用标准的神经网络学习方法优化改进蒙皮
模型。标准3D网格模型顶点坐标差的损失使用均方损失函数,Gr=[g0,g1,g2,…g(N‑1)]为标准
3D网格模型的N个顶点坐标,骨骼动画顶点矫正模型的输出V=[v0, v1…, vN‑1],计算标准3D
网格模型顶点坐标差的损失的均方损失函数为: ,其中
loss_v表示计算顶点坐标差的损失值,G[i]表示标准3D模型第i个顶点的坐标向量,V[i]表
示骨骼动画顶点矫正模型预测的第i个顶点的坐标向量;计算骨骼动画顶点矫正模型的权
重W的损失的损失函数为,其中loss_w表示蒙皮权重损失值,wi,j表示蒙皮函数中第j个关节
对第i个顶点的作用权重。在训练阶段,每次迭代更新参数前,对W的每一个值进行监视,对
于W=[w0,0, w0,1…w0,n;w1,0, w1,1…w1,n‑1 … wN‑1,n‑1]中的wi,j,当wi,j<0时,要人为设置wi,j=
0,当wi,j>1时,要人为设置wi,j=1。合并后的损失函数为: ,
其中loss表示骨骼动画顶点矫正模型的总损失值,表示3D网格模型顶点坐标差的损失所占
得权重。设置改进LBS的训练参数,本实施例中具体参数为:学习速率为0.001,优化方法为
Adam(自适应时刻估计方法),迭代次数100次,Batch size为8,=0.7。采用标准的神经网络
训练方法训练骨骼动画顶点矫正模型,最终得到训练好的骨骼动画顶点矫正模型。
[0099] 本申请的优势包括:通过使用相机矩形阵列采集重建人体的3D高维网格曲面,在通过机器学习的方法使得姿态回归网络模型学习到了人体表面因为动作而引起的形变规
律,通过此方法让结合姿态回归网络模型的蒙皮模型学习到了合适的权重值,使用Pose_
net技术可以让姿态回归网络模型输出合适的蒙皮权重值,使得在动画制作过程中省去了
繁杂的刷权重的过程,大大减轻从业人员的工作量并提高准确度,使得花费更少的时间获
得更高的动画质量,节省了时间又减少了动画制作的成本。
[0100] 此外,本申请通过骨骼动画顶点矫正模型输出一个顶点的偏移给改进蒙皮函数,让骨骼动画顶点矫正模型学习到了人体皮肤表面在不同动作下的形变规律,通过人物角色
骨骼自动绑定技术Joint_net和人物角色的顶点自动补偿修复技术Pose_net可以对人物角
色在运动过程中原有的皮肤表面产生的不合理的形变进行补偿修正,避免人物角色在在运
动过程中某些姿态下出现皮肤表面塌陷,扭曲等问题,从而避免出现一些不合理的形变,使
得人物角色运动过程中看起来逼真、自然、合理,提高了动画质量,减少了动画师在动画后
期制作过程中的工作量,使得制作同样质量的动画,使用本方法花费的时间更少,成本更
低。
[0101] 本实施例还提供一种骨骼动画顶点矫正方法,如图7所示,具体包括:
[0102] S21:获取人体的姿态数据和T型姿态3D网格模型;
[0103] S22:将人体的姿态数据和T型姿态3D网格模型输入训练好的骨骼动画顶点矫正模型,得到该姿态下人体的标准3D网格模型的N个顶点坐标。
[0104] 在本实施例中,保存训练好的骨骼动画顶点矫正模型的网络参数,把参数加载到骨骼动画顶点矫正模型V=LBS(T_ +Pose_net(Pm_),P_,Joint_net(T_),W,P*)中并且保持
所有参数固定不变,其中W是训练后学习到的蒙皮权重。制作一个人T_Pose下的T型姿态3D
网格模型T_,再提供任意合理的人体骨骼姿态数据P_,把P_转为旋转矩阵的表达形式Pm_作
为输入变量输入骨骼动画顶点矫正模型即V=LBS(T_ +Pose_net(Pm_),P_,Joint_net(T_),
W,P*),得到的V=[v0, v1…, vN‑1]即为该姿态下的人体标准3D网格模型的顶点的空间坐标。
[0105] 下面对本申请实施例提供的一种骨骼动画顶点矫正模型的学习装置进行介绍,下文描述的骨骼动画顶点矫正模型的学习装置与上文描述的骨骼动画顶点矫正模型的学习
方法可相互对应参照。
[0106] 参考图8,图8为本申请实施例提供的一种骨骼动画顶点矫正模型的学习装置的结构示意图,具体包括:
[0107] 训练数据获取模块31,用于采集不同人的包括T型姿态的各种动作的全身影像和姿态数据,生成具有N个顶点的标准3D网格模型和T型姿态3D网格模型,获取标准3D网格模
型的姿态数据轴角形式P、标准3D网格模型的姿态数据旋转矩阵形式Pm、标准3D网格模型的
N个顶点坐标Gr、T型姿态3D网格模型的N个顶点坐标T,N为正整数;
[0108] 关节数据获取模块32,用于将T型姿态3D网格模型进行关节骨骼绑定,得到T型姿态3D网格模型的n个关节点坐标J,n为正整数;
[0109] 关节模型获取模块33,用于构建关节位置预测模型Joint_net,关节位置预测模型的输出维度与T型姿态3D模型的n个关节点坐标维度相同,将T型姿态3D网格模型的N个顶点
坐标T作为关节位置预测模型的输入、T型姿态3D网格模型的n个关节点坐标J作为训练关节
位置预测模型的标签对关节位置预测模型进行训练,得到训练好的关节位置预测模型;
[0110] 顶点模型获取模块34,用于构建姿态回归网络模型Pose_net,姿态回归网络模型的输出维度与标准3D网格模型的N个顶点坐标维度相同,姿态回归网络模型的输入为标准
3D网格模型的姿态数据旋转矩阵形式Pm,结合标准蒙皮函数、训练好的关节位置预测模型
Joint_net和姿态回归网络模型Pose_net构建骨骼动画顶点矫正模型,将标准3D网格模型
的姿态数据轴角形式P、标准3D网格模型的姿态数据旋转矩阵形式Pm和T型姿态3D网格模型
的N个顶点坐标T作为骨骼动画顶点矫正模型的输入、标准3D网格模型的N个顶点坐标Gr作
为训练骨骼动画顶点矫正模型的标签对骨骼动画顶点矫正模型进行训练,得到训练好的骨
骼动画顶点矫正模型。
[0111] 优选地,训练数据获取模块31包括:
[0112] 人体数据采集单元,用于通过摄像头矩阵采集不同人的包括T型姿态的各种动作的全身影像,同时通过动捕设备同步采集姿态数据;
[0113] 3D模型获取单元,用于根据不同人的包括T型姿态的各种动作的全身影像,通过立体视觉匹配方法建立3D点云模型,结合几何约束和图像投影约束方法对得到的3D点云模型
进行注册对齐生成拥有固定顶点数N的标准3D网格模型和T型姿态3D网格模型;
[0114] 顶点坐标获取单元,用于以人的骨盆点为坐标原点建立坐标系,对标准3D网格模型做数据归一化后得到标准3D网格模型的N个顶点坐标Gr,Gr=[g0,g1,g2,…g(N‑1)],gi表示
标准3D网格模型每个顶点3维坐标值,对T型姿态3D网格模型做数据归一化后得到T型姿态
3D网格模型N个顶点坐标T,T=[t0,t1,t2,…t(N‑1)] ,ti表示T型姿态3D网格模型每个顶点3维
坐标值;
[0115] 姿态数据匹配单元,用于将采集的姿态数据与标准3D网格模型建立一一匹配关系,得到标准3D网格模型的姿态数据轴角形式P,将标准3D网格模型的姿态数据的轴角形式
P转换为旋转矩阵形式Pm。
[0116] 优选地,关节模型获取模块33包括:
[0117] 关节模型构建单元,用于构建关节位置预测模型Joint_net,关节位置预测模型的输入数据维度为N*3,输出数据维度为n*3;
[0118] 关节模型训练单元,用于将T型姿态3D网格模型的N个顶点坐标T转为N*3的张量作为关节位置预测模型的输入,将T型姿态3D网格模型的n个关节点坐标J转为n*3的张量作为
训练关节位置预测模型的标签对关节位置预测模型进行训练;
[0119] 关节模型优化单元,用于采用均方损失函数优化关节位置预测模型,关节位置预测模型的输出为Jpre, ,均方损失计算公式为: ,其中loss表示均
方损失,J[i]表示第i个关节点的真实坐标构成的向量,Jpre[i]表示关节位置预测模型预测
输出的第i个关节点的坐标构成的向量,最终得到训练好的关节位置预测模型J=Joint_net
(T)。
[0120] 优选地,顶点模型获取模块34包括:
[0121] 姿态模型构建单元,用于构建姿态回归网络模型Pose_net,姿态回归网络模型的输入数据维度为n*3*3,输出数据维度为N*3;
[0122] 顶点模型构建单元,用于结合标准蒙皮函数、训练好的关节位置预测模型Joint_net和姿态回归网络模型Pose_net构建骨骼动画顶点矫正模型,其中V表示骨骼动画顶点矫
正模型预测输出的顶点坐标的集合,V=[v0, v1…, vN‑1],vi表示第i个顶点的坐标向量,LBS
表示线形蒙皮函数,T表示T型姿态3D网格模型的顶点坐标,P、Pm分别表示标准3D网格模型
的姿态数据的轴角形式和旋转矩阵形式,Pose_net(Pm)表示对于每一个姿态Pm预测一个顶
点矫正值,Joint_net(T)表示对于每个T型姿态预测出该人T型姿态下的n个关节点坐标,W
表示线形蒙皮函数的权重,P*表示T型姿态的姿态数据,设置W为可导参数、Joint_net为不
可导参数;
[0123] 顶点模型训练单元,用于将T型姿态3D网格模型的N个顶点坐标T转为张量Tin、标准3D网格模型的姿态数据P转为张量Pin、Pm转为张量Pmin作为骨骼动画顶点矫正模型的输
入、标准3D网格模型的N个顶点坐标Gr作为训练骨骼动画顶点矫正模型的标签对骨骼动画
顶点矫正模型进行训练;
[0124] 顶点模型优化单元,用于采用包括计算标准3D网格模型顶点坐标差的损失和骨骼动画顶点矫正模型的权重W的损失的损失函数优化骨骼动画顶点矫正模型,计算标准3D网
格模型顶点坐标差的损失的均方损失函数为:,其中loss_v表示计算顶点坐标差的损失值,
G[i]表示标准3D模型第i个顶点的坐标向量,V[i]表示骨骼动画顶点矫正模型预测的第i个
顶点的坐标向量;计算骨骼动画顶点矫正模型的权重W的损失的损失函数为,其中loss_w表
示蒙皮权重损失值,wi,j表示蒙皮函数中第j个关节对第i个顶点的作用权重,合并后的损失
函数为:,其中loss表示骨骼动画顶点矫正模型的总损失值,表示3D网格模型顶点坐标差的
损失所占得权重,最终得到训练好的骨骼动画顶点矫正模型。
[0125] 由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
[0126] 下面对本申请实施例提供的一种计算机设备进行介绍,下文描述的计算机设备与上文描述的方法可相互对应参照。
[0127] 本申请还提供了一种计算机设备,包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序以实现如上述骨骼动画顶点矫正模型的学习方法的步骤。
[0128] 由于计算机设备部分的实施例与方法部分的实施例相互对应,因此计算机设备部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
[0129] 说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而
言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明
即可。
[0130] 专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和
软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些
功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业
技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应
认为超出本申请的范围。
[0131] 结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存
储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD‑ROM、或技术
领域内所公知的任意其它形式的存储介质中。
[0132] 以上对本申请所提供的一种骨骼动画顶点矫正模型的学习方法、骨骼动画顶点矫正模型的学习装置、骨骼动画顶点矫正方法、计算机设备进行了详细介绍。本文中应用了具
体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申
请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请
原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利
要求的保护范围内。