本技术涉及计算机,特别涉及一种虚拟对象面部重建方法、面部重建网络训练方法及装置。
背景技术:
1、随着计算机视觉的发展,用户对于图像品质(如画质、清晰度、分辨率等)的视觉要求越来越高。在游戏、影视、动漫、虚拟人、数字人等各领域中,广泛涉及到渲染虚拟对象。
2、虚拟对象的面部表情的逼真渲染效果,能够让虚拟对象在动态过程中变得栩栩如生、逼真生动。其中,虚拟对象的面部重建对于面部渲染优化至关重要。为了优化虚拟对象的面部渲染效果,亟需一种针对虚拟场景的虚拟对象的面部重建方法。
技术实现思路
1、本技术实施例提供了一种虚拟对象面部重建方法、面部重建网络训练方法及装置,能够提供一种虚拟场景中虚拟对象的面部重建方法,提升虚拟对象的面部重建精准度,从而优化虚拟对象的面部渲染效果。
2、一方面,提供了一种虚拟对象的面部重建方法,所述方法包括:
3、对虚拟场景中虚拟对象的面部模型进行细化,得到所述虚拟对象的面部细化网格,所述面部细化网格的顶点数量大于所述面部模型的顶点数量;
4、基于所述面部细化网格,重建所述虚拟对象的纹理贴图;
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、对于所述虚拟场景中的每个光源,将所述顶点的位置向量和所述光源的位置向量之间的l2范数输入到激活函数中,得到所述顶点在所述光源下的能见度系数,所述能见度系数表征所述顶点在所述光源照射下形成的自阴影;
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、通过将虚拟对象的面部模型进行细化,得到面部细化网格,使得面部重建的3d网格其顶点数量更加密集,这样利用面部细化网格来重建纹理贴图时,能够得到高分辨率、高质量、高精度的纹理贴图,并且能够针对每个细化产生的顶点都进行光照计算,得到每个顶点的光照系数,这样光照计算能够覆盖到高分辨率的重建3d网格,提升了光照计算的精度,进而根据高质量的纹理贴图以及每个顶点的光照系数来进行面部渲染时,能够得到当前虚拟相机的相机视角下高质量的面部图像,能够提升虚拟对象的面部重建精准度,优化虚拟对象的面部渲染效果。