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

三维模型生成方法及装置与流程

2022-07-15 23:43:11 来源:中国专利 TAG:


1.本技术涉及图像处理技术领域,尤其涉及一种三维模型生成方法及装置。


背景技术:

2.随着人工智能(artificial intelligence,ai)领域的兴盛和机器学习技术的发展,使得出现了多款二维(two dimensional,2d)高逼真换脸产品。ai的大热同时也促进了三维(three dimensional,3d)技术领域的发展,使得实现3d个性化高逼真人体模型成为可能。
3.然而,目前生成3d人体模型的过程中,通常使用用户的正面脸部照片生成脸部模型,再根据用户的脸部照片生成3d脸部模型的纹理,最后再将生成的3d脸部模型和纹理融合在用户选择的身形上。尽管可以生成与真人相似的3d人体模型,但其脸部纹理光影和材质都会混入原照片的光影,使得生成的3d人体模型脸部特征不够清晰和准确。


技术实现要素:

4.本技术实施例提供了一种三维模型生成方法及装置,通过获取基准人体模型的无光照渲染生成的图像以及特定光照渲染生成的图像,再将用户原始图像与该两种图像进行换脸操作获得两种换脸图像,最后根据两种换脸图像和基准人体模型生成目标人体模型,该过程降低用户原始图像脸部未知光影对脸部模型的影响,提升生成的目标人体模型脸部特征的清晰度和准确性。
5.第一方面,提供了一种三维模型生成方法,该方法包括:根据用户原始图像,对第一渲染图像进行换脸操作得到第一换脸图像,对第二渲染图像进行换脸操作得到第二换脸图像,其中,第一渲染图像是由基准人体模型经过特定光照渲染生成的,第二渲染图像是由基准人体模型无光照渲染生成的;根据第一换脸图像,第二换脸图像和基准人体模型生成目标人体模型。
6.在本技术实施例中,在生成目标人体模型时,通过第一渲染图像与用户原始图像进行换脸得到第一换脸图像,然后通过第二渲染图像与用户原始图像进行换脸得到第二换脸图像,再根据第一换脸图像,第二换脸图像和基准人体模型生成目标人体模型,其中由于第一渲染图像通过特定光照渲染生成,因此根据第一换脸图像生成的目标人体网格既避免了受到未知光影特征的影响,又能够保证更好的三维立体效果,第二渲染图像通过无光照渲染生成,因此根据第二换脸图像生成的脸部纹理可以避免用户原始人脸图像上的光影特征影响。整个过程提升了最后生成的目标人体模型脸部特征的清晰度和准确性。
7.在一种可能的实现方式中,第一渲染图像上包括阴影特征。
8.在一种可能的实现方式中,换脸操作包括:对渲染图像进行定位,识别出渲染图像中的人脸位置;根据人脸位置对渲染图像进行分割,获得第一人脸图像;根据用户原始图像对第一人脸图像中的人脸特征进行替换,获得第二人脸图像,并将第二人脸图像与渲染图像融合获得换脸图像,其中,当渲染图像为第一渲染图像时,换脸图像为第一换脸图像,当
渲染图像为第二渲染图像时,换脸图像为第二换脸图像。
9.在一种可能的实现方式中,根据第一换脸图像,第二换脸图像和基准人体模型生成目标人体模型,包括:根据第一换脸图像获取脸部三维模型;根据脸部三维模型和基准人体模型进行基准人体脸部网格变形,获得目标人体网格;根据第二换脸图像和目标人体网格进行脸部纹理合成,得到目标人体模型。
10.在一种可能的实现方式中,根据第一换脸图像获取用户原始图像对应的脸部三维模型,包括:将第一换脸图像与三维人脸模型中的多个方向的基量进行匹配,获取第一换脸图像针对多个方向的基量对应的系数,基量为组成向量空间的基本元素;根据多个方向的基量以及多个方向的基量对应的系数获得用户原始图像对应的脸部三维模型。
11.在一种可能的实现方式中,根据第二换脸图像和目标人体网格进行脸部纹理合成,得到目标人体模型,包括:获取目标人体网格的平面投影图像,并确定平面投影图像的多个面片与第二换脸图像的多个面片之间的第一对应关系;获取目标人体网格对应的纹理图;根据纹理图确定平面投影图像的多个面片对应到uv纹理贴图坐标中的位置,并根据第一对应关系确定第二换脸图像的多个面片对应到uv纹理贴图坐标中的位置;根据第二换脸图像的多个面片的像素值确定与其对应的vu纹理贴图坐标位置的像素值,获得人脸纹理图;采用人脸纹理图替换目标人体网格对应的纹理图,得到目标人体模型。
12.在一种可能的实现方式中,第一渲染图像和第二渲染图像为基于正脸的单张图像或者基于多角度侧脸的多张图像。
13.本技术实施例中,采用一张正脸渲染图像获得换脸图像进行后续目标人体模型生成过程,可以提升模型生成效率;采用多张不同角度的侧脸渲染图像获得换脸图像进行后续目标人体模型生成过程,可以提供更多的人脸区域,使得纹理图在侧脸区域的纹理信息更多。并且可以避免生成的脸部纹理在侧脸区域的拉伸情况,降低对拉伸情况进行处理的资源消耗,同时提升模型生成准确度。
14.第二方面,提供一种三维模型生成装置,装置包括图像处理单元和模型生成单元,其中,
15.图像处理单元,用于根据用户原始图像,对第一渲染图像进行换脸操作得到第一换脸图像,对第二渲染图像进行换脸操作得到第二换脸图像,其中,第一渲染图像是由基准人体模型经过特定光照渲染生成的,第二渲染图像是由基准人体模型无光照渲染生成的;
16.模型生成单元,用于根据第一换脸图像,第二换脸图像和基准人体模型生成目标人体模型。
17.在一种可能的实现方式中,图像处理单元在进行换脸操作过程中具体用于:
18.对渲染图像进行定位,识别出渲染图像中的人脸位置;
19.根据人脸位置对渲染图像进行分割,获得第一人脸图像;
20.根据用户原始图像对第一人脸图像中的人脸特征进行替换,获得第二人脸图像,并将第二人脸图像与渲染图像融合获得换脸图像,其中,当渲染图像为第一渲染图像时,换脸图像为第一换脸图像,当渲染图像为第二渲染图像时,换脸图像为第二换脸图像。
21.在一种可能的实现方式中,换脸操作中替换的人脸特征不包括皮肤特征。
22.在一种可能的实现方式中,模型生成单元具体用于:
23.根据第一换脸图像获取脸部三维模型;
24.根据脸部三维模型和基准人体模型进行基准人体脸部网格变形,获得目标人体网格;
25.根据第二换脸图像和目标人体网格进行脸部纹理合成,得到目标人体模型。
26.在一种可能的实现方式中,模型生成单元还具体用于:
27.将第一换脸图像与三维人脸模型中的多个方向的基量进行匹配,获取第一换脸图像针对多个方向的基量对应的系数,基量为组成向量空间的基本元素;
28.根据多个方向的基量以及多个方向的基量对应的系数获得用户原始图像对应的脸部三维模型。
29.在一种可能的实现方式中,模型生成单元还具体用于:
30.获取目标人体网格的平面投影图像,并确定平面投影图像的多个面片与第二换脸图像的多个面片之间的第一对应关系;
31.获取目标人体网格对应的纹理图;
32.根据纹理图确定平面投影图像的多个面片对应到uv纹理贴图坐标中的位置,并根据第一对应关系确定第二换脸图像的多个面片对应到uv纹理贴图坐标中的位置;
33.根据第二换脸图像的多个面片的像素值确定与其对应的vu纹理贴图坐标位置的像素值,获得人脸纹理图;
34.采用人脸纹理图替换目标人体网格对应的纹理图,得到目标人体模型。
35.在一种可能的实现方式中,第一渲染图像和第二渲染图像为基于正脸的单张图像或者基于多角度侧脸的多张图像。
36.第三方面,本技术实施例提供一种电子设备,该设备包括通信接口和处理器,该通信接口用于该装置与其它设备进行通信,例如数据或信号的收发。示例性的,通信接口可以是收发器、电路、总线、模块或其它类型的通信接口,其它设备可以为网络设备。处理器用于调用一组程序、指令或数据,执行上述第一方面描述的方法。该装置还可以包括存储器,用于存储处理器调用的程序、指令或数据。存储器与处理器耦合,该处理器执行该存储器中存储的、指令或数据时,可以实现上述第一方面描述的方法。
37.第四方面,本技术实施例中还提供一种电子装置,其特征在于,该通信装置包括处理器、收发器、存储器以及存储在该存储器上并可在该处理器上运行的计算机执行指令,当计算机执行指令被运行时,使得该通信装置执行如第一方面或第一方面中任一种可能的实现方式中的方法。
38.第五方面,本技术实施例中还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机可读指令,当该计算机可读指令在计算机上运行时,使得计算机执行如第一方面或第一方面中任一种可能的实现方式中的方法。
39.第六方面,本技术实施例提供了一种芯片系统,该芯片系统包括处理器,还可以包括存储器,用于实现上述第一方面或第一方面中任一种可能的实现方式中的方法。该芯片系统可以由芯片构成,也可以包含芯片和其他分立器件。
40.可选的,该芯片系统还包括收发器。
41.第七方面,本技术实施例中还提供一种计算机程序产品,包括指令,当其在计算机上运行时,使得计算机执行如第一方面或第一方面中任一种可能的实现方式中的方法。
附图说明
42.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍。
43.图1a为本技术实施例提供的一种生成三维人体模型的过程示意图;
44.图1b为本技术实施例提供的一种生成人体三维模型的过程示意图;
45.图2a为本技术实施例提供的一种三维模型生成方法流程图;
46.图2b为本技术实施例提供的一种获取渲染图像过程示意图;
47.图3a为本技术实施例提供的一种换脸操作流程图;
48.图3b为本技术实施例提供的一种cnn人脸转换网络结构示意图;
49.图3c为本技术实施例提供的一种换脸实现过程示意图;
50.图3d为本技术实施例提供的一种换脸过程示意图;
51.图4a为本技术实施例提供的一种生成目标人体模型的流程图;
52.图4b为本技术实施例提供的一种通过3dmm获得人脸三维模型的过程示意图;
53.图4c为本技术实施例提供的一种获取目标人体网格的过程示意图;
54.图4d为本技术实施例提供的一种生成脸部纹理图的过程示意图;
55.图4e为本技术实施例提供的一种脸部纹理合成过程示意图;
56.图5为本技术实施例提供的一种三维模型生成装置结构框图;
57.图6为本技术实施例提供的一种电子设备的结构示意图。
具体实施方式
58.本技术的说明书和权利要求书及所述附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或模块的过程、方法、系统、产品或设备没有限定于已列出的步骤或模块,而是可选地还包括没有列出的步骤或模块,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或模块。
59.在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本技术的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
[0060]“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
[0061]
下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行描述。
[0062]
本技术实施例的方法可以在终端上实现。终端可以被称为终端设备(terminal equipment)、用户设备(user equipment,ue)、移动台(mobile station,ms)、移动终端(mobile terminal,mt)等。终端设备可以是手机(mobile phone)、平板电脑(pad)、带无线收发功能的电脑、虚拟现实(virtual reality,vr)终端设备、增强现实(augmented reality,ar)终端设备、工业控制(industrial control)中的无线终端、无人驾驶(self driving)中的无线终端、远程手术(remote medical surgery)中的无线终端、智能电网
(smart grid)中的无线终端、运输安全(transportation safety)中的无线终端、智慧城市(smart city)中的无线终端、智慧家庭(smart home)中的无线终端等等。
[0063]
本技术实施例的方法具体可以应用在虚拟现实与增强现实场景下的高逼真数字人生成相关领域。例如增强现实(augmented reality,ar)导航,ar游戏或ar服饰试穿等。具体应用过程可参阅图1a,图1a为本技术实施例提供的一种生成三维人体模型的过程示意图,如图1a所示,终端111获取用户原始图像110,例如从其他设备接收,或者自身集成的图像采集部件拍摄获得,然后终端111根据获取的其他图像或参数与用户原始图像110进行换脸操作,再进一步根据换脸后的图像获得人脸三维模型和人脸纹理图,最后获得输出的人体三维模型112。
[0064]
在上述获取人体三维模型的过程中,由于用户原始图像上通常包括一些未知光照形成的阴影,具体请参阅图1b,图1b为本技术实施例提供的一种生成人体三维模型的过程示意图,如图1b所示,原始人脸图像120上包括未知光照形成的阴影,根据该图像生成的三维模型121上也包括该阴影,这使得生成的三维模型脸部特征不清晰或者真实度低,降低了三维模型的质量。
[0065]
基于上述描述,请参阅图2a,图2a为本技术实施例提供的一种三维模型生成方法流程图,如图2a所示,该方法包括如下步骤:
[0066]
201、终端根据用户原始图像对第一渲染图像进行换脸操作得到第一换脸图像,对第二渲染图像进行换脸操作得到第二换脸图像,其中第一渲染图像是由基准人体模型经过特定光照渲染生成的,第二渲染图像是由基准人体模型无光照渲染生成的;
[0067]
202、终端根据第一换脸图像,第二换脸图像和基准人体模型生成目标人体模型。
[0068]
用户原始图像是指通过摄像机对人物进行拍摄获取的图像,或者通过摄像头拍摄获得视频流,然后分割获得视频图像。这些用户原始图像中包括人脸。由于用户原始图像的采集条件为自然光照下,因此这些图像上存在未知角度和未知强度的光照和阴影特征。
[0069]
获得渲染图像是将一个三维模型通过几何变换,投影变换,透视变换和窗口剪裁,再通过获取的材质与光影信息,生成二维图像的过程。着色模型(shading model)描述了一个被渲染物体的颜色如何基于表面朝向(surface orientation)、视线(view direction)和光(lighting)等系数进行变换,或换言之,着色模型能够控制构成材质的输入数据,打造出最终外观。基准人体模型是进行目标人体模型生成的基础,在基准人体模型上进行人脸模型的相应变换即可获得目标人体模型。
[0070]
基准人体模型经过特定光照渲染获得第一渲染图像,特定光照可以为环境光,平行光、点光或其他光。经过特定光照照射的基准人体模型为一种光照着色模型,此着色模型使用直接和间接光照,以及反射高光。也就是说,基准人体模型经过特定光照照射,然后经过渲染所生成的第一渲染图像上,包括基准人体模型反射特定光照所形成的色彩图像信息,以及特定光照照射基准人体模型表面可能产生的阴影信息。
[0071]
针对第二渲染图像,是通过基准人体模型无光照渲染生成的图像。无光照照射的基准人体模型为一种无光照着色模型,仅输出模型颜色自发光,因此渲染出的第二渲染图像中也只包括模型本身自发光的纹理颜色,而不包括任何阴影信息。
[0072]
另外,假设特定光照是一个理想的点光源,那么目标人体模型被照射后可能形成有明显边界的阴影,假设特定光照是一个有一定尺寸的面光源,那么目标人体模型被照射
后可能形成具有模型边界的阴影,对应到第一渲染图像上,也可以根据一定的方法识别出阴影渲染图像和人体模型渲染图像之间的边界,进而确定获得的渲染图像是否通过特定光照渲染生成,进而区分出其为第一渲染图像或第二渲染图像,采用的方法例如可以是卷积神经网络模型,或者其他确定图像中包括阴影的方法。
[0073]
由于第一渲染图像上包含阴影信息,能够使得图像上体现出几何特征,例如人脸五官之间的距离,面积和角度等,进而凸显基准人体模型的五官立体效果。那么在基于第一渲染图像获取脸部三维模型时,也能够获得更加立体的三维模型。
[0074]
第二渲染图像上不包含阴影信息,只包括模型本身自发光的纹理颜色,那么在基于第二渲染图像(本技术实施例中具体为根据第二渲染图像进行换脸操作后获得的第二换脸图像获取人脸纹理图,换脸操作不影响图像纹理信息)获取相邻像素点之间的灰度差值来获取纹理信息时,可以避免阴影色彩信息造成的影响,提升获取的人脸纹理图的准确性。
[0075]
可选地,特定光照需要满足的条件可以包括:(1)包含正面方向光源。如果特定光照不包括正面光源,会使得整个人脸的五官渲染出来整体偏暗且无立体感。(2)渲染出来的图像无大面积阴影。如果特定光照渲染出的第一渲染图像中包括大面积阴影效果,可能使得图像几何特征收到干扰,不利于后续换脸操作和人脸重建。因此,针对特定光照需要满足的条件(1),可以在渲染图像之前调整达成,针对需要满足的条件(2),可以在生成渲染图像过程中实时调整,以便第一渲染图像满足无大面积阴影的特征。即是说,通过控制特定光照的特征,例如特定光照的照射距离和照射角度,可以控制第一渲染图像中的光影色彩,进而控制对应的几何特征。第二渲染图像是由基准人体模型无光照渲染生成的,即是说在根据基准人体模型生成第二渲染图像中,只包括基准人体模型的自发光色彩,而不包括任何外部光照照射在基准人体模型上形成的光影色彩。请参阅图2b,图2b为本技术实施例提供的一种获取渲染图像过程示意图,如图2b中的(a)所示,第一渲染图像211由基准人体模型210经过平行光照渲染生成,如图2b中的(b)所示,第二渲染图像212由基准人体模型210无光照渲染生成。可选情况下,渲染图像可以为一张正脸图像,且该正脸图像中能够显示用户完整的五官特征。或者采集的渲染图像可以是多张侧脸图像,通常情况下为对基准人体模型在与脸部中心夹角
±
30
°
~90
°
范围的侧光进行脸部打光,并在左中右三个视角(典型值左45
°
,0
°
以及右45
°
)进行脸部图像渲染从而得到基准模型侧光的多角度渲染图像。这些侧脸图像组合起来能够显示用户完整的五官特征,同时这些侧脸图像能够提供更多的脸部特征,例如侧脸纹理,下颌线条等。
[0076]
获得渲染图像后,可以对渲染图像采用ai换脸算法与用户原始图像进行换脸操作,生成换脸图像,以便后续根据换脸图像生成目标人体模型。
[0077]
请参阅图3a,图3a为本技术实施例提供的一种换脸操作流程图,如图3a所示,第一渲染图像的换脸过程可包括如下步骤:
[0078]
2011、对第一渲染图像进行定位,识别出第一渲染图像中的人脸位置;
[0079]
2012、根据人脸位置对第一渲染图像进行分割,获得第一人脸图像;
[0080]
2013、根据用户原始图像对第一人脸图像中的人脸特征进行替换,获得第二人脸图像;
[0081]
2014、将第二人脸图像与渲染图像融合获得换脸图像。
[0082]
针对第一渲染图像和第二渲染图像,换脸操作过程相同,本技术实施例以第一渲
染图像为例进行具体说明。换脸过程中实际是人脸特征的替换,因此在进行换脸操作的过程中,需要先提取人脸特征训练获得人脸转换网络,然后将第一渲染图像分割获得的第一人脸图像和用户原始人脸图像输入人脸转换网络,即可完成第一人脸图像到第二人脸图像的转换,其中人脸特征可以包括人脸的几何特征和表征特征,几何特征具体为人脸五官之间的距离,面积和角度等,表征特征为把人脸图像通过神经网络,得到一个特定维数的特征向量,该向量可以很好地表征人脸数据。
[0083]
以卷积神经网络(convolutional neural networks,cnn)换脸算法为例,可以先通过cnn人脸定位算法获得第一渲染图像分割出的第一人脸图像,然后根据cnn人脸转换网络将第一人脸图像替换为第二人脸图像。具体可参阅图3b,图3b为一种cnn人脸转换网络结构示意图,如图3b所示,该网络主要由一个编码器网络和一个解码器网络组成,首先通过输入真实的人脸图像a对人脸转换网络进行训练,使得该人脸转换网络中的编码器网络过能够将人脸图像a进行特征提取处理获得人脸特征a,解码器网络能够将人脸特征a进行还原获得原始人脸图像a。在测试阶段,将原始人脸图像b输入训练获得的人脸转换网络,其中的编码器网络能够将原始人脸图像b进行特征提取获得人脸特征b,解码网络中包括人脸特征a,采用人脸特征a替换人脸特征b,并对替换人脸特征后的图像进行还原,即可获得包括人脸特征a的换脸图像b,即实现了对原始人脸图像b的换脸。
[0084]
在本技术实施例的步骤2013中,具体是将原始人脸图像进行训练获得原始人脸图像对应的解码器网络,然后将第一渲染图像分割获得的第一人脸图像输入该解码器网络,使得原始人脸图像对应的解码网络对第一人脸图像进行重建获得第二人脸图像,第二人脸图像实际包括原始人脸图像的人脸特征。最后,将第二人脸图像与第一渲染图像的其他特征进行融合,其他特征例如可以为发型特征,耳饰特征,脖颈特征等。例如请参阅图3c,图3c为本技术实施例提供的一种换脸实现过程示意图,如图3c所示,将原始人脸图像a经过编码获得的对应的人脸特征,简称人脸特征a,输入解码器网络b,可以获得根据人脸图像a重建的人脸图像b,其对应的五官,头发等特征都是与人脸图像b相似(由对应的解码器网络决定),只有嘴型弧度与人脸a相似。同样的,将原始人脸图像b经过编码获得的人脸特征,简称人脸特征b,输入解码器网络a,可以获得根据人脸图像b重建的人脸图像a,其对应的五官,发型等特征都与人脸a相似,只有嘴型弧度与人脸b相似。这个过程即完成了原始人脸图像a和原始人脸图像b的换脸。最后换脸获得的人脸与原始图像中的其他特征进行融合,例如与背景,服饰等进行融合,即完成换脸操作。
[0085]
特地别,由于脸部纹理位于人脸皮肤上,两者结合紧密,在本技术实施例中,为了避免原始人脸图像上包含的阴影特征对人脸纹理生成以及人脸三维模型生成可能造成的影响,在换脸过程中,可以不替换人脸上的皮肤特征,即是说,用原始人脸图像替换第一渲染图像或第二渲染图像中的人脸图像时,不替换第一渲染图像和第二渲染图像中的人脸皮肤特征,那么根据第一渲染图像换脸后获得的第一换脸图像中保持经过特定光照渲染的人脸皮肤,根据第二渲染图像换脸后获得的第二换脸图像中保持无光照渲染的人脸皮肤。
[0086]
根据前述描述可知,第一渲染图像可以是根据基准人体模型正脸渲染获得的一张渲染图像,也可以是根据基准人体模型多个不同角度的侧脸渲染获得的多张渲染图像。同样的,在进行换脸操作的时候,可能是对一张正脸渲染图像的换脸,也可能是对多张侧脸渲染图像的换脸。具体可参阅图3d,图3d为本技术实施例提供的一种换脸过程示意图,如图3d
中的(a)所示,当第一渲染图像(或第二渲染图像)为一张正脸渲染图像时,只需要将该一张渲染图像与用户原始人脸图像进行换脸操作,获得一张第一换脸图像(与第二渲染图像对应的为第二换脸图像)。或者如图3d中的(b)所示,当第一渲染图像(或第二渲染图像)为多张侧脸渲染图像时,需要将该多张渲染图像与用户原始人脸图像进行换脸操作,获得多张第一换脸图像(或多张第二换脸图像)。在后续处理过程中,如果获得一张第一换脸图像,则根据这一张换脸图像获得目标人体网格,如果获得多张第一换脸图像,则根据这多张换脸图像获得目标人体网格;同样的,如果获得一张第二换脸图像,则根据这一张换脸图像获得脸部纹理,如果获得多张第二换脸图像,则根据这多张第二换脸图像获得脸部纹理。终端在进行目标人体模型生成的过程中,根据单张或多张第一换脸图像获得目标人体网格,以及根据单张或多张第二换脸图像获得脸部纹理可以任意组合。例如可以根据单张第一换脸图像获得目标人体网络,然后根据多张第二换脸图像获得脸部纹理。最后,将获得的目标人体网格和脸部纹理合成,获得最终的目标人体模型。
[0087]
上述过程中,采用一张正脸渲染图像获得换脸图像进行后续目标人体模型生成过程,可以提升模型生成效率;采用多张不同角度的侧脸渲染图像获得换脸图像进行后续目标人体模型生成过程,可以提供更多的人脸区域,使得纹理图在侧脸区域的纹理信息更多。并且可以避免生成的脸部纹理在侧脸区域的拉伸情况,降低对拉伸情况进行处理的资源消耗,同时提升模型生成准确度。
[0088]
可见,在本技术实施例中,在生成目标人体模型时,通过第一渲染图像与用户原始图像进行换脸获得第一换脸图像,然后通过第二渲染图像与用户原始图像进行换脸获得第二换脸图像,再根据第一换脸图像,第二换脸图像和基准人体模型生成目标人体模型,其中由于第一渲染图像通过特定光照渲染生成,因此根据第一换脸图像生成的目标人体网格既避免了受到未知光影特征的影响,又能够保证更好的三维立体效果,第二渲染图像通过无光照渲染生成,因此根据第二换脸图像生成的脸部纹理可以避免用户原始人脸图像上的光影特征影响。整个过程提升了最后生成的目标人体模型脸部特征的清晰度和准确性。
[0089]
可选情况下,可以对根据第一换脸图像,第二换脸图像和基准人体模型生成目标人体模型的过程进行具体描述。如图4a所示,根据第一换脸图像,第二换脸图像和基准人体模型生成目标人体模型,包括如下步骤:
[0090]
2021、根据第一换脸图像获取脸部三维模型;
[0091]
2022、根据脸部三维模型和基准人体模型进行基准人体脸部网格变形,获得目标人体网格;
[0092]
2023、根据第二换脸图像和目标人体网格进行脸部纹理合成,得到目标人体模型。
[0093]
具体地,第一换脸图像为包括特定光照的二维人脸图像,首先需要根据该二维人脸图像进行脸部三维重建,例如可采用自监督单眼3d面部重建(self-supervised monocular 3d face reconstruction,mgcnet),或者prnet等重建算法进行脸部重建。以mgcnet为例进行说明,该算法主要使用深度学习网络估计三维可变形人脸模型(3d morphable models,3dmm)参数得到人脸三维模型。请参阅图4b,图4b为本技术实施例提供的一种通过3dmm获得人脸三维模型的过程示意图,如图4b所示,首先根据3d人脸模型数据集进行模型训练,获得可变形脸部模型,然后对第一换脸图像进行脸部特征分析,确定第一换脸图像相对于可变形脸部模型在各个基向量上对应的系数,包括人脸形状系数和人脸纹
理系数,然后根据这些系数调整可变形脸部模型的形状和纹理,获得最终输出的第一换脸图像对应的脸部三维模型。
[0094]
具体地说,可变形人脸模型是一个通用模型,用固定点数来表示人脸,它的核心思想就是人脸可以在三维空间中进行一一匹配,许多幅人脸正交基加权线性相加可以获得一个通用模型。我们所处的三维空间,每一点(x,y,z),实际上都是由三维空间三个方向的基量,(1,0,0),(0,1,0),(0,0,1)加权相加所得,只是权重分别为x,y,z。同样的,每一个三维人脸可以由一个数据库中的所有人脸组成的基向量空间中进行表示,而求解任意三维人脸的模型,实际上等价于求解各个基向量的系数的问题。人脸的基本属性包括形状和纹理,每一张人脸可以表示为形状向量和纹理向量的线性叠加。
[0095]
根据第一换脸图像获取用户的脸部三维模型之后,进一步需要根据脸部三维模型和基准人体模型进行基准人体脸部网格变形,即是将脸部三维模型还原到基准人体模型上,获得目标人体网格。具体过程可参阅图4c,图4c为本技术实施例提供的一种获取目标人体网格的过程示意图,如图4c所示,首先通过粗配准将用户的脸部三维模型还原到基准人体模型上,获得初步人体模型,然后对初步人体模型进行脸部整体径向基函数(radial basis function,rbf)变形和脸部整体非刚性迭代最近点(non-rigid iteration closest point,nicp)变形,rbf变形可以实现变形结果的快速收敛,nicp变形可以获得更精准的变形结果。完成脸部整体变形后,再进行眼部整体变形,同样可以采用眼部整体rbf变形。然后进行细节变形,包括双眼皮等细节进行rbf变形。再进行脸部和眼部的整体平滑,对过渡带进行rbf变形。最后调节眼球的模型位置。该过程逐步将基准人体模型(主要是基准人脸模型)准确的变形至用户的脸部三维模型上,保持基准人体模型的几何拓扑结构的同时实现脸部与头部其他部位的无缝衔接。
[0096]
最后根据第二换脸图像获得用户的脸部纹理,实现目标人体网格的脸部纹理合成,即可得到目标人体模型。首先可以获取目标人体网格的平面投影图像,平面投影图像为2d图像,目标人体网格按照一定的位姿和投影矩阵投影到2d平面,可以与第二换脸图像(也为2d图像)互相重合,另外目标人体网格上有若干个用于对人体网格划分子区域的面片(面片划分的子区域对应的几何形状可以为三角形或平行四边形等),这些面片可以对应映射到平面投影图像上,且平面投影图像可以与第二换脸图像基于面片进行子区域的一一对应(即第二换脸图像也划分面片,并且第二换脸图像的面片与平面投影图像的面片一一对应),该种对应关系被称为第一对应关系。进一步地,可参阅图4d,图4d为本技术实施例提供的一种生成脸部纹理图的过程示意图,将目标人体网格投影到uv纹理贴图坐标中,生成纹理图,实际上也是将目标人体网格的平面投影图映射到uv坐标中生成纹理图,然后根据纹理图确定平面投影图像的多个面片对应到uv纹理贴图坐标中的位置,再根据前述获得的第一对应关系确定第二换脸图像的多个面片对应到uv纹理贴图坐标中的位置;根据第二换脸图像的多个面片的像素值确定与其对应的vu纹理贴图坐标位置的像素值,例如直接将第二换脸图像的多个面片的像素值作为与其对应uv纹理贴图坐标位置的像素值,最后完成原纹理图所有uv坐标位置的像素值填充(或替换),获得最终的人脸纹理图,如图4e中的(1)所示;最后采用人脸纹理图替换目标人体网格对应的纹理图,即是对目标人体网格(图4e中的(2))与脸部纹理图进行合成,获得目标人体模型(图4e中的(3))。
[0097]
图5为本技术实施例提供的一种三维模型生成装置500,其可用于执行上述图2a~
图4e的应用于终端的三维模型生成方法和具体实施例,该装置包括图像处理单元501和模型生成单元502。
[0098]
图像处理单元501,用于根据用户原始图像对第一渲染图像进行换脸操作得到第一换脸图像,对第二渲染图像进行换脸操作得到第二换脸图像,其中第一渲染图像是由基准人体模型经过特定光照渲染生成的,第二渲染图像是由基准人体模型无光照渲染生成的;模型生成单元502,用于根据第一换脸图像,第二换脸图像和基准人体模型生成目标人体模型。
[0099]
在一种可能的实现方式中,图像处理单元501在进行换脸操作过程中具体用于:
[0100]
对渲染图像进行定位,识别出渲染图像中的人脸位置;根据人脸位置对渲染图像进行分割,获得第一人脸图像;根据用户原始图像对第一人脸图像中的人脸特征进行替换,获得第二人脸图像,并将第二人脸图像与渲染图像融合获得换脸图像,其中,当渲染图像为第一渲染图像时,换脸图像为第一换脸图像,当渲染图像为第二渲染图像时,换脸图像为第二换脸图像。
[0101]
在一种可能的实现方式中,模型生成单元502具体用于:
[0102]
根据第一换脸图像获取脸部三维模型;根据脸部三维模型和基准人体模型进行基准人体脸部网格变形,获得目标人体网格;根据第二换脸图像和目标人体网格进行脸部纹理合成,得到目标人体模型。
[0103]
在一种可能的实现方式中,模型生成单元502还具体用于:
[0104]
将第一换脸图像与三维人脸模型中的多个方向的基量进行匹配,获取第一换脸图像针对多个方向的基量对应的系数,基量为组成向量空间的基本元素;根据多个方向的基量以及多个方向的基量对应的系数获得用户原始图像对应的脸部三维模型。
[0105]
在一种可能的实现方式中,模型生成单元502还具体用于:
[0106]
获取目标人体网格的平面投影图像,并确定平面投影图像的多个面片与第二换脸图像的多个面片之间的第一对应关系;获取目标人体网格对应的纹理图;根据纹理图确定平面投影图像的多个面片对应到uv纹理贴图坐标中的位置,并根据第一对应关系确定第二换脸图像的多个面片对应到uv纹理贴图坐标中的位置;根据第二换脸图像的多个面片的像素值确定与其对应的vu纹理贴图坐标位置的像素值,获得人脸纹理图;采用人脸纹理图替换目标人体网格对应的纹理图,得到目标人体模型。
[0107]
在一种可能的实现方式中,第一渲染图像和第二渲染图像为基于正脸的单张图像或者基于多角度侧脸的多张图像。
[0108]
可选的,上述图像处理单元501可以是中央处理器(central processing unit,cpu),或者可以是图形处理器(graphics processing unit,gpu),也可以是cpu和gpu的结合,可用于进行图像处理,上述模型生成单元502也可以是cpu,或者是gpu,或者是cpu和gpu的结合,本技术不做具体限制。
[0109]
可选的,三维模型生成装置500还可以包括收发单元503,收发单元503可以为接口电路或者收发器。用于从其他电子装置获取数据或接收指令。
[0110]
可选的,三维模型生成装置500还可以包括存储模块(图中未示出),该存储模块可以用于存储数据和/或信令,存储模块可以和图像处理单元501以及模型生成单元502耦合,也可以和收发单元503耦合。例如,图像处理单元501可以用于读取存储模块中的数据和/或
信令,使得前述方法实施例中的换脸操作过程被执行。
[0111]
如图6所示,图6示出了本技术实施例中的一种电子设备的硬件结构示意图。三维模型生成装置500的结构可以参考图6所示的结构。电子设备800包括:存储器801、处理器802、通信接口803以及总线804。其中,存储器801、处理器802、通信接口803通过总线804实现彼此之间的通信连接。
[0112]
存储器801可以是只读存储器(read only memory,rom),静态存储设备,动态存储设备或者随机存取存储器(random access memory,ram)。存储器801可以存储程序,当存储器801中存储的程序被处理器802执行时,处理器802和通信接口803用于执行本技术实施例的xx网络的训练方法的各个步骤。
[0113]
处理器802可以采用通用的cpu,微处理器,应用专用集成电路(application specific integrated circuit,asic),gpu或者一个或多个集成电路,用于执行相关程序,以实现本技术实施例的三维模型生成装置500中的图像处理单元501或模型生成单元502所需执行的功能,或者执行本技术方法实施例的三维模型生成方法。
[0114]
处理器802还可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,本技术的三维模型生成方法的各个步骤可以通过处理器802中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器802还可以是通用处理器、数字信号处理器(digital signal processing,dsp)、专用集成电路(asic)、现成可编程门阵列(field programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本技术实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本技术实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器801,处理器802读取存储器801中的信息,结合其硬件完成本技术实施例的三维模型生成装置500中包括的单元所需执行的功能,或者执行本技术方法实施例的三维模型生成。
[0115]
通信接口803使用例如但不限于收发器一类的收发装置,来实现装置800与其他设备或通信网络之间的通信。例如,可以通过通信接口803获取第一渲染图像和第二渲染图像。
[0116]
总线804可包括在装置800各个部件(例如,存储器801、处理器802、通信接口803)之间传送信息的通路。
[0117]
应理解,三维模型生成装置500中的收发单元503相当于电子设备800中的通信接口803,图像处理单元501或模型生成单元502可以相当于处理器802。
[0118]
应注意,尽管图6所示的电子设备800仅仅示出了存储器、处理器、通信接口,但是在具体实现过程中,本领域的技术人员应当理解,电子设备800还包括实现正常运行所必须的其他器件。同时,根据具体需要,本领域的技术人员应当理解,电子设备800还可包括实现其他附加功能的硬件器件。此外,本领域的技术人员应当理解,电子设备800也可仅仅包括实现本技术实施例所必须的器件,而不必包括图6中所示的全部器件。
[0119]
应理解,在本技术的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施
过程构成任何限定。
[0120]
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的模块及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但这种实现不应认为超出本技术的范围。
[0121]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0122]
在本技术所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0123]
作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
[0124]
另外,在本技术各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。
[0125]
功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
[0126]
以上,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以权利要求的保护范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

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

相关文献