利索能及
我要发布
收藏
专利号: 2021101084409
申请人: 青岛联合创智科技有限公司
专利类型:发明专利
专利状态:已下证
更新日期:2026-07-01
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种三维虚拟角色智能蒙皮方法,其特征在于:工艺过程包括:S1、生成骨骼:采用网格塌缩方法获取三维虚拟角色的骨骼;

1.1几何收缩:

利用拉普拉斯平滑算法将网格的顶点沿其曲率法线方向移动,以模糊细节和收缩模型;通过3DS MAX建模软件构建三维虚拟角色,并按照固定格式输出,获得其网格数据G=(V,E,F),其中,V为经过归一化处理后的网格顶点坐标矩阵,E为网格边集合,F为网格面集合;

进行收缩迭代;

1.2边缘折叠

采用贪心算法合并顶点;

1.3骨骼优化

计算骨骼关节点i的形成过程中合并到点vi的所有点的平均位移,根据平均位移计算优化后的骨骼关节点 的位置,完成三维虚拟角色骨骼自动生成;

S2蒙皮智能预测

2.1特征提取

计算任一网格顶点vi到任一邻域点vj的距离di,j,将距离按照升序进行排列,获得排列好的邻域点序号集合R=[r1,r2,…,rJ],J为vi的邻域点数量,取距离最短的前5个邻域点,当邻域点不足5个时,重复最后一个邻域点和距离;

采用基于热传播的测地距离计算方法,计算任一网格顶点vi到任一骨骼br的测地线距离li,r,将网格顶点vi到全部骨骼的测地线距离,将测地线距离按照升序进行排列,获得排列好的骨骼序列号集合S=[s1,s2,…,sK],取测地线距离最短的前5个骨骼;依次提取出三维虚拟角色的全部网格顶点特征向量;

2.2模型构建

依托开源深度学习框架Caffe2构建网络模型;

2.3模型训练

准备一组用于训练的三维虚拟角色网格模型,通过步骤S1对每个模型完成骨骼自动生成,利用3DS MAX建模软件进行蒙皮权重手动赋值,得到每个模型的蒙皮权重;

按照步骤2.1完成输入数据准备,通过步骤2.2的网络模型进行训练,并采用交叉熵损失函数使生成的蒙皮权重能够尽可能匹配训练模型的蒙皮权重,训练过程中,一个训练周‑4

期的数据量为2个三维虚拟角色网格模型,学习率为10 ,训练完成后,保留训练后的模型参数;

2.4蒙皮预测

准备任意三维虚拟角色网格模型,通过步骤S1完成骨骼自动生成,按照步骤2.1提取模型特征数据作为输入,构建网络结构,读取网络参数,最终输出三维虚拟角色的蒙皮权重,将三维虚拟角色网格模型的顶点、面片、蒙皮权重按照FBX标准格式保存,并导入3DS MAX建模软件中,通过拖动骨骼驱动网格发生自然形变和位移。

2.根据权利要求1所述的三维虚拟角色智能蒙皮方法,其特征在于:步骤1.1所述的收缩迭代过程包括:

1.1.1计算拉普拉斯平滑矩阵L:构建大小为c×c的拉普拉斯平滑矩阵L,c为三维虚拟角色的网格顶点数,每个元素的数值由公式1: 表示,其中,N(i)为顶点vi的邻域顶点集合,αij为顶点vi、vj+1、vj形成的夹角,βij为vi、vj‑1、vj形成的夹角,E为网格边集合;

t+1

1.1.2通过公式2: 计算第t次迭代后的网格顶点矩阵V ,其中,t

为第t次迭代时的收缩权重,L为第次迭代时的拉普拉斯平滑矩阵, 为第次迭代时的t

吸引权重,V 为第t‑1次迭代后的网格顶点矩阵,初始设置 为原始网0

格面的平均面积,初始设置 的元素值均为1.0,矩阵大小为1×n,V为原始网格顶点坐标0

矩阵,矩阵大小为c×3,L为原始网格计算的拉普拉斯平滑矩阵,t∈N,N为自然数;

t

1.1.3通过公式3: 计算第t次迭代后的三维虚拟角色的网格总面积A ,其中, 表示第t次迭代后网格中第f个面片的面积,根据终止迭代条件公式4:判断是否终止迭代;

1.1.4通过公式5: 更新收缩权重WL和吸引权重矩阵WH,其中,sL=

2.0, 为更新后的收缩权重, 为第t次迭代时的收缩权重, 为更新后的吸引权重矩阵中第i个元素的值, 为初始吸引权重矩阵 中第i个元素的值,为原始网格中第i个顶点的第f个邻域的面积, F(i)为顶点i的邻域的面集合,i∈c;

t+1

1.1.5更新拉普拉斯平滑矩阵L:通过公式2计算获得收缩后的网格顶点坐标矩阵V ,t+1

通过公式1重新计算获得新的拉普拉斯平滑矩阵L ;

1.1.6重复步骤1.1.2、1.1.3、1.1.4和1.1.5,直到满足1.1.3中的终止迭代条件,获得经过几何收缩后的网格顶点坐标矩阵

3.根据权利要求1所述的三维虚拟角色智能蒙皮方法,其特征在于:步骤1.2所述的贪心算法基本步骤包括:

1.2.1任意选定一个初始边(i,j)∈E;

1.2.2借助邻域的顶点k,采用原则:判断是否能够将顶点j合并到顶点i;

1.2.3当顶点j能够合并到顶点i时,计算合并后的形状损耗和采样损耗:①通过公式6: 计算顶点j合并到顶点i后,即边(i,j)和边(j ,k)折叠生成边(i,k),产生的形状损耗,其中,mx、my、mz分别为边(i,j)归一化后的向量m在XYZ方向上的分量,向量 为 中的第i个顶点,nx、ny、nz分别为向量n在XYZ方向上的分量,px、py、pz分别为边(j,k)归一化后的向量p在XYZ方向上的分量,向量为 中的第j个顶点,qx、qy、qz分别为向量q在XYZ方向上的分量, 为 的转T T

置,Kij为Kij的转置,Kjk为Kjk的转置;

②通过公式7: 计算顶点j合并到顶点i后产生的采样损耗,其中, 为顶点合并后的网格边集合, 为 中的第k个顶点;

③通过公式8:G(i,j)=ωaGa(i,j)+ωbGb(i,j),计算顶点j合并到顶点i后的总损耗,根据经验设置ωa=1.0,ωb=0.1;

1.2.4统计与顶点vj共边的全部顶点,分别计算合并后的总损耗,确定总损耗最小的顶点;

1.2.5重复步骤1.2.2、1.2.3和1.2.4,依次判断是否将后一个顶点合并到前一个顶点,将合并的顶点存入容器中,容器为Ri={vl}l∈(1,…,c),直至遍历完全部顶点后,折叠并删除多余的边和面,获得完整保留了三维虚拟角色的骨骼关节点和骨骼关节点连线。

4.根据权利要求1所述的三维虚拟角色智能蒙皮方法,其特征在于:步骤1.3所述的骨骼优化的具体过程包括:

通过公式9: 计算骨骼关节点i的形成过程中合并到点vi的所有点的平均位移,其中,ci为骨骼关节点 的合并点容器Ri中点的总数;

通过公式10: 计算优化后的骨骼关节点 的位置,完成三维虚拟角色骨骼自动生成,骨骼B={br}r=1,…,K,其中,br为第r个骨骼,由两个骨骼关节点构成,K为最后生成的骨骼数量,骨骼关节点数为K+1。

5.根据权利要求1所述的三维虚拟角色智能蒙皮方法,其特征在于:步骤2.1涉及的网格顶点vi特征向量为:

其中,vi为第i个网格顶点, 为vi的邻域点中距离第一近的顶点,依次, 为vi的邻域点中距离第五近的顶点, 为 与vi距离的 倒数,依次, 为 与vi距离的 倒数, 为到vi测地线距离第一近的骨骼,依次, 为到vi测地线距离第五近的骨骼, 为到vi测地线距离 的倒数,依次, 为 到vi测地线距离 的倒数。

6.根据权利要求1所述的三维虚拟角色智能蒙皮方法,其特征在于:步骤2.2所述的模型中的MLP为多层感知机,用于训练注意力权重,MLP均包含一个输入层、一个隐含层、一个输出层,MLP隐含层的激活函数为tanh;max pool为最大池化层,用于降低缩减模型大小,提升计算速度,同时提高提取特征的鲁棒性;concat为连接层,将按照顺序将特征表达串联为一个向量。

7.根据权利要求1所述的三维虚拟角色智能蒙皮方法,其特征在于:步骤2.3所述的每个模型的蒙皮权重 其中, 交叉熵损失函数为:其中,B={br}r=1,…,K,为三维虚拟角色的骨骼集合, 为通过3DS MAX建模软件设置的骨骼br对顶点vi的权重, 为模型计算获得的骨骼br对顶点vi的权重。

8.根据权利要求1或2所述的三维虚拟角色智能蒙皮方法,其特征在于:收缩迭代能够防止网格全部顶点被过度收缩到同一个位置,通过在迭代过程中调整收缩权重WL、吸引权重矩阵WH以及拉普拉斯平滑矩阵L,保障网格逐步收缩为骨骼结构。

9.根据权利要求1或5所述的三维虚拟角色智能蒙皮方法,其特征在于:步骤2.1提取的三维虚拟角色的全部网格顶点特征向量为输入,三维虚拟角色的蒙皮权重为输出。